oracle左右结合,oracle 左右连接实例讲解

--先建立几个表

create table TWB03

(

ID    NUMBER(10),

ADATE VARCHAR2(10)

)

插入的数据

1 a1

2 a2

3 a3

create table TWB04

(

ID2   NUMBER(10),

BDATE VARCHAR2(10)

)

插入的数据

1 b1

2 b2

4 b4

select a.id,a.adate,b.id2,b.bdate from twb03 a left join  twb04 b on a.id=b.id2

select a.id,a.adate,b.id2,b.bdate from twb03 a, twb04 b where a.id=b.id2(+)

id    adate    id2    bdate

1 a1 1 b1

2 a2 2 b2

3 a3

上面两个的效果一样:+表示右边的表是根据左边的表有条件出来的。

select a.id,a.adate,b.id2,b.bdate from twb03 a, twb04 b where a.id(+)=b.id2

select a.id,a.adate,b.id2,b.bdate from twb03 a right join  twb04 b on a.id=b.id2

id   adate     id2    bdate

1 a1 1 b1

2 a2 2 b2

4 b3

这两个是一样的。

select a.id,a.adate,b.id2,b.bdate from twb03 a, twb04 b where a.id=b.id2

深入探讨一下,左右连接,看一个例子:

select * from twb03 a,twb04 b where  a.id=b.id2(+) and b.id2(+)!=2

id      adate   id2     bdate

1 a1 1 b1

2 a2

3 a3

对比一下:

select * from twb03 a,twb04 b where  a.id=b.id2(+) and b.id2!=2

id      adate   id2     bdate

1 a1 1 b1

看的出结果不一样了,下面这个就达不到连接的效果了。(也要看情况)!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值