第05章03节-连接查询-外连接

外连接


一、什么叫外连接

内连接是满足条件的记录查询出来。也就是两张表的交集。
外连接是除了满足条件的记录查询出来,再将其中一张表的记录全部查询出来,另一张表如果没有与之匹配的记录,自动模拟出NULL与其匹配。

左外连接:
左连接.png
右外连接:
右连接.png

二、外连接之左外连接(左连接)

案例:查询所有部门信息,并且找出每个部门下的员工。

1
2
3
4
5
6
7
8
select
d.*,e.ename
from
dept d
left outer join
emp e
on
d.deptno = e.deptno;
image.png

注意:outer可以省略。

任何一个左连接都可以写作右连接。

三、外连接之右外连接(右连接)

还是上面的案例,可以写作右连接。

1
2
3
4
5
6
7
8
select
d.*,e.ename
from
emp e
right outer join
dept d
on
d.deptno = e.deptno;
image.png

案例:找出所有员工的上级领导,要求显示员工名和领导名。

1
2
3
4
5
6
7
8
select 
e.ename 员工名,l.ename 领导名
from
emp e
left join
emp l
on
e.mgr = l.empno;
1
2
3
4
5
6
7
8
select 
e.ename 员工名,l.ename 领导名
from
emp l
right join
emp e
on
e.mgr = l.empno;
image.png