十三、外连接
一、什么是外连接?外连接和内连接的区别?
外连接:假设A和B表进行连接,使用外连接的话,A、B两张表有一张表是主表,一张表是副表,主要查询主表中的数据,捎带着查询副表;当副表中的数据没有和主表中的数据匹配上,副表自动模拟NULL与之匹配
内连接:假设使用A和B表进行连接,凡是A和B表能够匹配上,就把记录查询出来,(A和B表没有主副之分,两张表是平等的)
二、分类
左外连接(左连接):表示左边的这张表是主表
右外连接(右连接):表示右边的这张表是主表
三、语法
select .....
from.....
left(right) join outer 表名 outer可以省略
on 连接条件
四、案例
1、查询每个员工的上级领导,要求显示员工名和对应的领导名
select a.last_name '员工',b.last_name '领导'
from employees a
left join employees b //left说明员工是主表
on a.employee_id=b.manager_id; //把没有领导的员工也显示出来
2、查询哪个部门没有员工
SELECT d.*
FROM emp e
RIGHT JOIN dept d
ON e.`DEPTNO`=d.`DEPTNO`
WHERE e.`EMPNO` IS NULL;

浙公网安备 33010602011771号