正文
關鍵字
存在匹配,匹配顯示;同時,將各個表中不匹配的數據與空數據行匹配進行顯示。可以看成是左外連線與右外連線的並集。
FULL JOIN 關鍵字語法
SELECT column_name(s) FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name=table_name2.column_name 注釋:在某些資料庫中, FULL JOIN 稱為 FULL OUTER JOIN。
原始的表
"Persons" 表:
| Id_P | LastName | FirstName | Address | City |
| 1 | Adams | John | Oxford Street | London |
| 2 | Bush | George | Fifth Avenue | New York |
| 3 | Carter | Thomas | Changan Street | Beijing |
"Orders" 表:
| Id_O | OrderNo | Id_P |
| 1 | 77895 | 3 |
| 2 | 44678 | 3 |
| 3 | 22456 | 1 |
| 4 | 24562 | 1 |
| 5 | 34764 | 65 |
全連線實例
現在,我們希望列出所有的人,以及他們的定單,以及所有的定單,以及定購它們的人。
您可以使用下面的 SELECT 語句:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons FULL JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName 結果集:
| LastName | FirstName | OrderNo |
| Adams | John | 22456 |
| Adams | John | 24562 |
| Carter | Thomas | 77895 |
| Carter | Thomas | 44678 |
| Bush | George | |
| 34764 |
FULL JOIN 關鍵字會從左表 (Persons) 和右表 (Orders) 那裡返回所有的行。如果 "Persons" 中的行在表 "Orders" 中沒有匹配,或者如果 "Orders" 中的行在表 "Persons" 中沒有匹配,這些行同樣會列出。

