SQL LEFT JOIN 關鍵字
LEFT JOIN 關鍵字會從左表 (table_name1) 那裡返回所有的行,即使在右表 (table_name2) 中沒有匹配的行。
LEFT JOIN 關鍵字文法
SELECT column_name(s)FROM table_name1LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name
注釋:在某些資料庫中, LEFT JOIN 稱為 LEFT 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 |
左串連(LEFT JOIN)執行個體
現在,我們希望列出所有的人,以及他們的定購 - 如果有的話。
您可以使用下面的 SELECT 語句:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM PersonsLEFT JOIN OrdersON Persons.Id_P=Orders.Id_PORDER BY Persons.LastName
結果集:
| LastName |
FirstName |
OrderNo |
| Adams |
John |
22456 |
| Adams |
John |
24562 |
| Bush |
George |
|
| Carter |
Thomas |
44678 |
| Carter |
Thomas |
77895 |
LEFT JOIN 關鍵字會從左表 (Persons) 那裡返回所有的行,即使在右表 (Orders) 中沒有匹配的行。