SQL JOIN 關(guān)鍵字使用方法及示例

SQL 關(guān)鍵字參考

INNER JOIN

INNER JOIN命令返回兩個(gè)表中具有匹配值的行。

以下SQL選擇帶有客戶信息的所有訂單:

SELECT Orders.OrderID, Customers.CustomerName FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;

注意:只要各列之間有匹配項(xiàng),INNER JOIN關(guān)鍵字就會(huì)從兩個(gè)表中選擇所有行。如果“訂單(Orders)”表中有與“客戶(Customers)”中不匹配的記錄,則這些訂單將不會(huì)顯示!

以下SQL語句選擇所有包含客戶和托運(yùn)人信息的訂單:

SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM ((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);

LEFT JOIN

LEFT JOIN命令從左表返回所有行,并從右表返回匹配的行。如果不匹配,則結(jié)果從右側(cè)為NULL。

以下SQL將選擇所有客戶以及他們可能擁有的任何訂單:

 SELECT Customers.CustomerName, Orders.OrderID 
 FROM Customers
 LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
 ORDER BY Customers.CustomerName;

注意:LEFT JOIN關(guān)鍵字返回左表(客戶表 Customers)的所有記錄,即使是在右表(訂單表 Orders)不匹配。

RIGHT JOIN

RIGHT JOIN命令從右表返回所有行,并從左表返回匹配的記錄。如果沒有匹配項(xiàng),則結(jié)果從左側(cè)為NULL。

以下SQL將返回所有員工以及他們可能下的所有訂單:

SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;

注意:RIGHT JOIN關(guān)鍵字返回右表(雇員 Employees)的所有記錄,即使在左表(訂單 Orders)不匹配。

FULL OUTER JOIN

FULL OUTER JOIN當(dāng)左表或右表中存在匹配項(xiàng)時(shí),該命令將返回所有行。

以下SQL語句選擇所有客戶和所有訂單:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN  
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;

注意:FULL OUTER JOIN關(guān)鍵字返回所有行左表(客戶 Customers),以及所有來自右表(訂單 Orders)的行。如果“客戶 Customers”中的某些行在“訂單 Orders”中沒有匹配項(xiàng),或者在“訂單 Orders”中的某些行在“客戶 Customers”中沒有匹配項(xiàng),則這些行也將被列出。

SQL 關(guān)鍵字參考

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清