一.多表联合查询
1.1 笛卡尔积查询
查询员工表和部门表
emp表和dept表的记录数的乘积,我们称其为笛卡尔积。
1.2内连接查询
1.2.1隐式内连接
使用内连接查询员工编号,员工姓名,部门名称。
1.2.2显示内连接
使用内连接查询员工编号、员工姓名、部门名称
1.3 外连接查询
1.3.1 左外连接查询
左外连接查询两张表条件都满足的数据,以及左边表(A表)存在的数据(以左边表为主查询表)。
需求:使用左外连接将dept表作为主查询表,查询员工编号、员工姓名、部门名称。
1.3.2 右外连接查询
右外连接查询两张表条件都满足的数据,以及右边表(B表)存在的数据(以右边表为主查询表)
需求:使用右外连接将dept表作为主查询表,查询员工编号、员工姓名、部门名称
1.3 自连接查询
自连接其实就是站在不同的角度把一张表看成多张表。
需求:查询出员工姓名,员工领导姓名
查询出员工姓名,员工部门名称,员工领导姓名,员工领导部门名称。
1.4 子查询
1.4.1 子查询返回一个值
需求:查询出工资和WARD一样的员工信息
1.4.2 子查询返回一个集合
需求:查询出工资和10号部门任意员工一样的员工信息
1.4.3 子查询返回一张表
需求:查询出每个部门最低工资,和最低工资员工姓名,和该员工所在部门名称
二.Rownum与分页查询
rownum行号:当我们做select操作的时候,每查询出一行记录,就会在该行上加上一个行号,行号从1开始,依次递增,不能跳着走。rownum不支持大于号,只支持小于号
需求:找到员工表中工资最高的前三名
需求:emp表工资倒叙排列后,每页五条记录,查询第二页