外连接:

假设A和B表进行连接,使用外连接的话,
AB两张表中有一张表是主表,一张表是副表,主要查询主表中的数据,捎带着查询副表,
当副表中的数据没有和主表中的数据匹配上,副表自动模拟出NULL与之匹配。

外连接的分类?

左外连接(左连接):表示左边的这张表是主表。
右外连接(右连接):表示右边的这张表是主表。

左连接有右连接的写法,右连接也会有对应的左连接的写法
e.g.
员工表显示如下:(脚本来自动力节点)
deptno显示员工所在的部门编号
在这里插入图片描述
部门表:
在这里插入图片描述
找出哪个部门没有员工?
分析:部门表作为主表,员工表作为副表。依据部门编号进行连接。显示没有员工所在(e.deptno is null)部门的信息(d.*)
写法1:
在这里插入图片描述
写法2:
在这里插入图片描述
查询结果均为:
在这里插入图片描述
判断何时使用left join或者right join?
关键点:分析出谁是主表!上例中,dept是主表,emp是副表,当副表emp中的数据没有和主表中的数据匹配上,副表自动模拟出NULL与之匹配。
from后+主表dept,left join后+副表 emp
from后+副表emp,right join后+主表dept

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐