一、关联查询
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].字段名(+);
右外:
select 表1的字段名,表2的字段名 from 表1,表2 where [别名1].字段名(+)=[别名2].字段名;
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;
关联的表中有相同字段名,要使用表名/别名引用。