温馨提示×

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