16.多表查询--外连接

  • 在emp表中新增一条数据--貂蝉,不给他指定外键,也就是deptno为null。

  • 在dept表中新增一个部门--情报部,但是现在还没有任何员工指向他。

  • 那么使用内连接查询时,是查询不到貂蝉和情报部的。

  • 如果我们要想显示出貂蝉或情报部,就需要使用外连接了。

外连接

  • 外连接有一主一次,主表所有记录无论是不是满足条件,都查询出来,当不满足条件时,次表使用null来补位
  • 语法:
SELECT * FROM 表1 LEFT/RIGTH JOIN 表2 ON 条件
  • 查询所有员工姓名、工种、工资、部门编号、部门名称
  • 外连接分左外连接和右外连接
左外连接
  • 以左表为主表,左表显示完全


    左连接查询.png
右连接
  • 以右表为主表,右表显示完全


    右连接查询.png
全连接

我们发现不管是左外还是右外,都不能把员工和部门全部显示完,那如果想显示完全该怎么办呢?
其实左外和右外查询出来的结果,列数和列类型都刚好完全一致,我们用去重的合并结果集就能完成该功能了

全连接.png

你可能感兴趣的:(16.多表查询--外连接)