左外连接:
以join左边的表为主表,展示主表的所有数据,根据条件查询连接右边表的数据,若满足条件则展示,若不满足则以null显示.
可以理解为:在内连接的基础上保证左边表的数据全部显示
场景描述:查询所有部门下的员工信息,如果该部门下没有员工则不展示.
– 概述: 在内连接的基础上保证左边表的数据全部显示
– 语法: select … from 左表 left outer join 右表 on 关联条件; outer可以省略
– 练习: 查询所有部门下的员工信息,如果该部门下没有员工则员工信息不展示,但部门信息要显示.
select * from dept left outer join emp on dept.id = emp.dept_id;
select * from dept left join emp on dept.id = emp.dept_id;
右外连接
以join右边的表为主表,展示右边表的所有数据,根据条件查询join左边表的数据,若满足则展示,若不满足则以null显示
可以理解为:在内连接的基础上保证右边表的数据全部显示
– 概述:在内连接的基础上保证右边表的数据全部显示
– 语法:select … from 左表 right outer join 右表 on 关联条件; outer可以省略
– 练习:查询所有员工所对应的部门,如果员工没有对应的部门,那么员工信息要显示,部门信息不显示(null)
select * from dept right outer join emp on dept.id = emp.dept_id;
select * from dept right join emp on dept.id = emp.dept_id;
select * from emp left join dept on dept.id = emp.dept_id;