Oracle数据库多表联合查询

一.多表联合查询

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表工资倒叙排列后,每页五条记录,查询第二页

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值