外连接查询
一、左外连接
* 语法:select 字段列表 from 表1 left [outer] join 表2 on 条件;
* 查询的是左表的全部数据及其和右表的交集部分。也就是把表1的全部数据、表1和表2交集部分列出来。比如表1通过外键和表2连接,但是表1某个数据的外键值为null,如果用内连接这条数据就不会被查询到,所以要用外连接。
二、右外连接
* 语法:select 字段列表 from 表1 right[outer] join 表2 on 条件;
* 查询的是右表的全部数据及其和左表的交集部分。
三、全外连接
* 语法:select 字段列表 from 表1 full[outer] join 表2 on 条件;
四、注意:左外连接和右外连接时相对概念,一般只需要学习一种,另外一种可以把表1和表2位置换一下来实现。
#列出员工人数为0的部门名
SELECT d.department_name,e.last_name
FROM
departments d LEFT JOIN employees e
ON
e.`last_name` IS NULL;
输出结果:
说明:
比如说左外链接,LEFT JOIN左边的为主项(上例中的departments),右边的为副项(上例中的employees),
ON测试为空的条件使用副项中的某一个(上例中胡last_name)