MySQL之左外连接右外连接
外连接:假设A和B表进行连接,使用外连接的话,AB两张表中有一张表是主表,一张表是副表,主要查询主表中的数据,捎带着查询副表,当副表中的数据没有和主表中的数据匹配上,副表自动模拟出NULL与之匹配。外连接的分类?左外连接(左连接):表示左边的这张表是主表。右外连接(右连接):表示右边的这张表是主表。左连接有右连接的写法,右连接也会有对应的左连接的写法e.g.员工表显示如下:(脚本来自动力节点)MG
·
外连接:
假设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
更多推荐
已为社区贡献1条内容
所有评论(0)