学习前准备三张表:
1、等值连接
如果连接条件中是一个等号这是等值连接
2、不等值连接
如果连接条件中不是一个等号这是不等值连接
3、外连接
例题:按部门统计员工人数:部门号,部门名称,人数
1)、使用等值连接:
结果为:
查询部门表得到:
可以看出通过直接连接查询的结果少了一个部门,这是因为在empno表中没有operations这个部门,导致where语句不成立,所以就没有输出。
2)、使用外连接:
通过外连接可以将对于连接条件不成立的记录仍然包含在最后的结果中。
a.左外连接:当连接条件不成立的时候连接左面的表依然可以保存在最后的结果当中
b.右外连接:当连接条件不成立的时候连接右面的表依然可以保存在最后的结果当中
注意:所有没有在聚合函数中的列都需要在group by 后面!
4、自连接
案例:查看员工的姓名和员工老板的姓名
自连接的核心:通过表的别名将同一张表视为多张表