关闭

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

718人阅读 评论(0) 收藏 举报
分类:
内连接

表 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
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:28634次
    • 积分:760
    • 等级:
    • 排名:千里之外
    • 原创:42篇
    • 转载:51篇
    • 译文:0篇
    • 评论:4条