最新的Web開發教程
 

SQL FULL OUTER JOIN關鍵字


SQL FULL OUTER JOIN關鍵字

在FULL OUTER JOIN關鍵字返回左表(表1)和右表(表2)所有行。

在FULL OUTER JOIN關鍵字結合的左右兩側加入了結果。

SQL FULL OUTER JOIN語法

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name ;

SQL FULL OUTER JOIN


演示數據庫

在本教程中,我們將使用眾所周知的Northwind示例數據庫。

下面是從選擇"Customers"表:

客戶ID 顧客姓名 聯繫人姓名 地址 郵政編碼 國家
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Antonio Moreno Mataderos 2312 Mexico D.F. 05023 Mexico

而從選擇"Orders"表:

訂單ID 客戶ID 員工ID 訂購日期 ShipperID
10308 2 7 1996-09-18 3
10309 37 3 1996-09-19 1
10310 77 8 1996-09-20 2

SQL FULL OUTER JOIN例

下面的SQL語句選擇所有客戶,所有訂單:

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

從結果集的選擇可能是這樣的:

顧客姓名 訂單ID
Alfreds Futterkiste  
Ana Trujillo Emparedados y helados 10308
Antonio Moreno Taqueria 10365
  10382
  10351

注:FULL OUTER JOIN關鍵字返回所有左表(客戶)行,以及所有來自右表(訂單)的行。 如果有行"Customers"沒有比賽的"Orders" ,或者如果在有行"Orders"沒有比賽的"Customers" ,這些行會被列出。