尚硅谷之MySQL基础

左连接(LEFT JOIN)

A

A - A∩B

返回左表中的所有行,如果左表中行在右表中没有匹配行,则结果中右表中的列返回空值。

返回左边中行在右表中没有匹配行的记录

#左连接

#查询所有部门信息以及该部门员工信息

SELECT did,dname,eid,ename

FROM t_department LEFT OUTER JOIN t_employee

ON t_department.did = t_employee.dept_id;

#查询部门信息,仅保留没有员工的部门信息

SELECT did,dname,eid,ename

FROM t_department LEFT OUTER JOIN t_employee

ON t_department.did = t_employee.dept_id

WHERE t_employee.dept_id IS NULL;

#“从表外键列”是NULL

#查询所有员工信息,以及员工的部门信息

SELECT eid,ename,did,dname

FROM t_employee LEFT OUTER JOIN t_department

ON t_employee.dept_id = t_department.did ;

#查询员工信息,仅保留没有分配部门的员工

SELECT eid,ename,did,dname

FROM t_employee LEFT OUTER JOIN t_department

ON t_employee.dept_id = t_department.did

WHERE t_employee.dept_id IS NULL;

#“从表外键列”是NULL