Orcle 内外关联与+号作用

一  内外关联

     1. 外关联:左关联(left join),返回包括左表中的所有记录和右表中联结字段相等的记录。

                      右关联(right join),返回包括右表中的所有记录和左表中联结字段相等的记录。

                      全外关联(full join),两个表的记录都返回,不联结的字段补null。    

        内关联:自关联(inner join),只返回两个表中联结字段相等的行。

注:外关联的英文简写中间省略了outer。

      2. 对于外关联可以使用“+”来表示。

           (1)“+”操作符只能出现在where子句中,并且不能与outer join语法同时使用。

           (2)“+”操作符只能用于实现左、右关联,不能用于全外关联。

           (3)“+”操作符不能与or和in操作符一起使用。

           (4)“+”操作符只适用于列,不能用在表达式上。

           (5)“+"操作符执行连接时,如果where子句中包含多个条件,则所有条件中都要包含“+”操作符。

            +表示补充,哪个表有+号,该表就是匹配表。加号写在右表,表示左关联,左表全显示,右表补全,反之亦然。

二 用法实例


  1left join

               select * from A left join B on A.ID = B.ID;

               select * from A a, B b where a.ID = b.ID(+);

IDnameIDname
1  a1   f
2  b2  g
3  c3  h
4  dnull  null
5  e5  i

     (2)right join

           select * from A right join B on A.ID = B.ID;

            select * from A a, B b where a.ID(+) = b.ID;

IDnameIDname
1  a1  f
2  b2  g
3  c3  h
null  null5  i
null  null7  j
null  null9  k


       (3)inner join

     select * from A inner join B on A.ID = B.ID;

IDnameIDname
  a    f
2  b   g
3  c   h

  

(4)全关联

IDnameIDname
1  a1  f
2  b2  g
3  c3  h
4  dnull  null
5  e5  i
null  null  j
null  null9  k


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值