目录
1. 内连接
1.1 概述
1.2 等值连接
1.3 非等值连接
1.4 自连接
2. 外连接
2.1 概述
2.2 左/右连接
2.3 全连接
3. 多张表连接
1. 内连接
1.1 概述
查询满足条件的两张表数据,也就是两张表的交集;
内连接使用过程中,尽量对表重命名,以此提高查询效率;
1.2 等值连接
on 后面的条件是与等号相关的;
如下,查询每个员工所在的部门:
可以看出,查询的结果是满足条件的。没有满足条件的没有查出,这很好地体现了内连接。
内连接的条件中,与 “ = ” 相关,很好体现了内连接的等值连接;
当然,也可以对查询出的结果进行过滤:
1.3 非等值连接
查询员工姓名,工资以及工资等级;
1.4 自连接
把一张表当作两张表,自己连接自己;
如下,查询员工姓名,以及领导姓名;
2. 外连接
2.1 概述
查询满足条件的两张表的数据之后,再将其中一张表的全部数据查询出来;
左(外)连接:
右(外)连接:
2.2 左/右连接
如下,查询所有部门信息,并且找出每个部门下的员工;
先使用内连接查找出员工姓名,部门姓名;
根据输入的命令与部门的位置,判断使用左连接还是右连接;
左/右连接是在内连接的的基础上执行的;
2.3 全连接
MySQL不支持全连接,SQLserver 与 Oracle 支持全连接;
3. 多张表连接
如下,找出每个员工的部门,以及每个员工的薪资等级;