oracle 多表查询 左右连接

多表查询

1、笛卡尔集

多个表查询时,不需要连接条件;所以笛卡尔集中就有数据是无效的;为了避免笛卡尔集可以在where中加入有效的连接条件。

连接n个表,至少需要n-1个连接条件。比如连接3个表,至少需要2个连接条件。

 

2、连接的类型

Oracle 连接:

Equijoin:等值连接

Non-equijoin:不等值连接

Outer join:外连接

Self join:自连接

 

3、外连接(左右连接)

希望、目的:对于某些不成立的记录,任然希望被包含在最后的结果中

使用外连接可以查询不满足连接条件的数据,外连接的符号是(+)

1、左连接:a.a=b.a(+);b表所有字段都显示

2、右连接:a.a(+)=b.a;a表左右字段都显示

3、全连接:

select   *   from   dali.test1   a,  dali.test2   b   where   a.a=b.a(+)  

union  

select   *   from   dali.test1   a,  dali.test2   b   where   a.a(+)=b.a;  


4、自连接

同一张表,2,以两个表中的不同列为条件连接。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值