在SQL中,LEFT JOIN(或LEFT OUTER JOIN)是一種連接兩個表格的方法,它會返回左表中的所有記錄和右表中與之匹配的記錄
當左表中的某行在右表中沒有匹配的數據行時,LEFT JOIN會產生一個結果行,其中左表的所有字段值保持不變,而右表的所有字段值都被設置為NULL。這樣,我們可以輕松地識別出哪些行在左表中沒有在右表中找到匹配項。
以下是一個簡單的例子來說明LEFT JOIN是如何處理不匹配的數據行的:
假設我們有兩個表格:Customers 和 Orders。Customers 表格包含客戶信息,Orders 表格包含訂單信息。我們想要列出所有客戶及其相關的訂單。
Customers 表格:
CustomerID | CustomerName |
---|---|
1 | Alice |
2 | Bob |
3 | Carol |
Orders 表格:
OrderID | CustomerID | OrderAmount |
---|---|---|
101 | 1 | 100 |
102 | 2 | 200 |
103 | 1 | 300 |
使用以下SQL查詢進行LEFT JOIN操作:
SELECT Customers.CustomerID, Customers.CustomerName, Orders.OrderID, Orders.OrderAmount
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
查詢結果將如下所示:
CustomerID | CustomerName | OrderID | OrderAmount |
---|---|---|---|
1 | Alice | 101 | 100 |
1 | Alice | 103 | 300 |
2 | Bob | 102 | 200 |
3 | Carol | NULL | NULL |
在這個例子中,Alice 和 Bob 都有相關的訂單,但 Carol 沒有訂單。因此,Carol 的那一行在結果集中的 OrderID 和 OrderAmount 字段值為 NULL。