Oracle-复杂查询-多表查询

select * from pandaa

这里写图片描述

select * from pandab

这里写图片描述
1.内连接=简单连接=等值连接

select pandaa a ,pandab b where a.plan = b.id
--相当于
select pandaa a inner join pandab b on a.plan = b.id

这里写图片描述
2.外链接
2,1 右外链接
(+)在a表右侧,所以是右外链接 即b表显示全部数据,a表根据plan与b表id等值连接,没有则显示null

select * from pandaa a ,pandab b where a.plan (+) = b.id
--相当于
select * from pandaa a right join pandab b on a.plan = b.id

这里写图片描述
2.2 左外链接
左链接 b表在(+)左侧为左链接,以a表为基准,b表等值连接,没有则显示null

select * from pandaa a ,pandab b where a.plan = b.id(+)
--相当于
select * from pandaa a left join pandab b on a.plan = b.id

这里写图片描述
3.交叉连接 =笛卡尔积

select * from pandaa ,pandab b 
--相当于
select *from pandaa cross join pandab 

这里写图片描述
4.自然连接-两张表具有相同名字和数据类型字段才可进行自然连接,查询结果同笛卡尔积

select *from pandaa natural join pandab 

猜你喜欢

转载自blog.csdn.net/fightingitpanda/article/details/79897015