在 SQL 中,LEFT JOIN 會返回左表(即第一個表)的所有記錄,即使右表中沒有匹配的記錄。對于右表中沒有匹配的記錄,結果集中的相關列將顯示為 NULL。
以下是一個簡單的示例,說明如何使用 LEFT JOIN 返回左表的所有記錄:
假設我們有兩個表:employees
和 departments
。
employees
表結構如下:
id | name | department_id |
---|---|---|
1 | Alice | 1 |
2 | Bob | NULL |
3 | Carol | 2 |
departments
表結構如下:
id | name |
---|---|
1 | HR |
2 | Finance |
如果我們想要查詢所有員工及其所屬部門(即使某些員工沒有分配部門),我們可以使用以下 LEFT JOIN 查詢:
SELECT employees.id, employees.name, departments.name AS department_name
FROM employees
LEFT JOIN departments ON employees.department_id = departments.id;
查詢結果將如下所示:
id | name | department_name |
---|---|---|
1 | Alice | HR |
2 | Bob | NULL |
3 | Carol | Finance |
可以看到,LEFT JOIN 返回了 employees
表中的所有記錄,即使某些員工沒有分配部門(在 departments
表中沒有對應的記錄)。