oracle 位移运算符,Oracle“(+)”运算符

在Oracle中,(+)表示JOIN中的“可选”表。 所以在你的查询中,

select a.id, b.id, a.col_2, b.col_2, ... from a,b where a.id=b.id(+)

这是一个左'外'加'B'表与'一个表。 就像现代的左连接查询一样。 (它将返回'a'表的所有数据,而不会丢失在另一边的数据可选表'b'可以丢失他的数据)

LSN2B.gif

select a.id, b.id, a.col_2, b.col_2, ... from a Left join b ON a.id=b.id

要么

select a.id, b.id, a.col_2, b.col_2, ... from a Left join b using(id)

现在如果你删除(+),那么这将是正常的内部连接查询,

select a.id, b.id, a.col_2, b.col_2, ... from a,b where a.id=b.id

GkDx8.gif

它只会返回所有'a'和'b'表'id'值相同的数据,意味着通用部分。

额外:如果你想让你的查询作为正确的join旧的格式或现代,那么它将显示为如下所示:

uSQlC.gif

旧:

select a.id, b.id, a.col_2, b.col_2, ... from a,b where a.id(+)=b.id

现代:

select a.id, b.id, a.col_2, b.col_2, ... from a Right join b ON a.id=b.id

要么

select a.id, b.id, a.col_2, b.col_2, ... from a Right join b using(id)

参考和帮助:

左外部在Oracle 11g中使用+符号join

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值