1.连接查询
1.1连接查询
笛卡尔积查询: 其实就是同时查询两张表,其中一张表有m条记录,另外一张表有n条记录,查询的结果是m*n条,但这种查询结果中包含大量错误的数据,所以我们一般不会直接使用这种查询。
两张表,在笛卡尔积查询的基础上,找到两张表中对应数据正确的列名,然后用where查询剔除错误数据,就是连接查询。
1.2内连接查询
连接查询的基础上,把两张表的逗号换成inner join,把where换成on
1.3左外连接查询
如果要查询部门表(dept)中的所有数据,而部门表(dept)在左边,此时可以使用左外连接查询,就可以查询出所有的部门信息(而员工信息只显示和部门对应的)
步骤:把内连接查询的inner join换成left join,因为部门表(depe)在左边
结果:优先查询部门,没有部门的员工不显示,没有员工的部门显示为null
1.4右外连接查询
可以将右边表中的所有记录都查询出来,左边表只显示和右边相对应的数据,如果右边表中某些记录在左边没有对应的数据,可以显示为null。
步骤:把左外连接查询的left join换成right join,因为员工表在右边,
1.5全外连接查询
mysql是不支持全外连接查询的,但是我们可以通过union模拟这种查询,union关键字是用于将两个表查询结果上下合并在一起显示,并且会去除重复记录。