溫馨提示×

left join如何返回左表所有記錄

小樊
81
2024-10-10 10:01:48
欄目: 編程語言

在 SQL 中,LEFT JOIN 會返回左表(即第一個表)的所有記錄,即使右表中沒有匹配的記錄。對于右表中沒有匹配的記錄,結果集中的相關列將顯示為 NULL。

以下是一個簡單的示例,說明如何使用 LEFT JOIN 返回左表的所有記錄:

假設我們有兩個表:employeesdepartments。

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 表中沒有對應的記錄)。

0