oracle中内连接与外连接的区别及详解

内连接

表 1  join   表 2  on   条件


驱动表和匹配表
表 1  join   表 2  on   条件
1)  表 1 叫做驱动表  ,  表 2 叫做匹配表
2)  等值连接方式下  ,  驱动表和匹配表位置可以互换  ,  不影响结果集
执行方式:不论谁做驱动表  ,  都会遍历驱动表  ,  在匹配表中查找匹配数据


 外连接**
1)  左外连接语法结构:  表 1   left outer join     表 2    on   条件
2)  右外连接语法结构:  表 1   right outer join   表 2     on   条件
3)  外连接的特征:
  如果驱动表在匹配表中找不到匹配记录  ,  则匹配一行空行
 外连接的结果集  =  内连接的结果集  +  驱动表在匹配表中匹配不上的记录和空值
 外连接的本质是驱动表中的数据一个都不能少
  left outer join 以左边的表为驱动表
 right outer join 以右边的表为驱动表

   full outer join 全外连接  **
1)  全外连接可以把两个表中的记录全部查出来
2)  全外连接的结果集  =  内连接的结果集  +
驱动表中在匹配表中找不到匹配记录的数据和 null 值  + 
匹配表中在驱动表中找不到匹配记录的数据和 null 值
3)  驱动表和匹配表可以互换


小结外连接
1)  外连接的结果集  =  内连接的结果集  +  驱动表在匹配表中找不到匹配记录的数据和空值
2)  驱动表和匹配表不能互换
3)  写外连接的方式:
a)  先写内连接
b)  使用 left 戒 right 不重要  ,  关键是确定谁做驱动表  ,  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值