Oracle数据库——多表查询

2017-11-29  本文已影响0人  咸鱼有梦想呀

一、关联查询

1.关联查询
select 表1的字段名,表2的字段名 from 表1 [别名1],表2 [别名2] where [别名1].字段名=[别名2].字段名;

关联查询

如果不指定关联条件,那么返回的记录数为:m*n条记录也就是笛卡儿积。

不指定定关联条件

2.内连接
select 表1的字段名,表2的字段名 from 表1 inner join 表2 on [别名1].字段名=[别名2].字段名;

内连接

3.等值连接
select 表1的字段名,表2的字段名 from 表1,表2 where [别名1].字段名=[别名2].字段名;

等值连接

查询返回结果和内连接一样

4.左/右外连接
显示左表/右表的所有信息
select 表1的字段名,表2的字段名 from 表1 left/right outer join 表2 on [别名1].字段名=[别名2].字段名;

左连接 右连接

左连接和右连接都是外连接,outer可以省略写。

在Oracle中特有的查询左右外连接方式:
左外:
select 表1的字段名,表2的字段名 from 表1,表2 where [别名1].字段名=[别名2].字段名(+);

oracle的左外连接

右外:
select 表1的字段名,表2的字段名 from 表1,表2 where [别名1].字段名(+)=[别名2].字段名;

oracle的右外连接

5.全连接
没有匹配结果也会出现
select 表1的字段名,表2的字段名 from 表1 full outer join 表2 on [别名1].字段名=[别名2].字段名;

全连接

6.不等值连接
select 字段名 from 表1 [别名1],表2 [别名2] where 字段名 between 表1字段名 and 表2字段名;

7.自连接
select [别名].字段名 from 表1 [别名1],表2 [别名2] where [别名1].字段名1=[别名2].字段名2;

关联的表中有相同字段名,要使用表名/别名引用。

二、子查询

sales中最高工资员工信息 查询工资大于本部门平均工资的员工信息
上一篇 下一篇

猜你喜欢

热点阅读