select * from table_1 A,table_2 B where A.col_a=b.col_a(+)?

lingbai 2004-04-30 02:10:32
select * from table_1 A,table_2 B where A.col_a=b.col_a(+)?
oracle里面好像有这种用法,这里的(+)是什么意思?有什么作用么?
...全文
97 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyi8903 2004-05-08
  • 打赏
  • 举报
回复
顶一下:)
souseitei 2004-05-08
  • 打赏
  • 举报
回复
select A.col1,(select field2 from table_2 where col_a = table_1.col_a) as col_2 from table_1
也可以改为这样的sql,效率好像不是很高。
baojianjun 2004-05-08
  • 打赏
  • 举报
回复
湊個熱鬧, Lulq21cn(沙虫) 說的很對
renfox99 2004-05-08
  • 打赏
  • 举报
回复
顶,
楼上的正确。
weivivia 2004-05-08
  • 打赏
  • 举报
回复
是个外连接,呵呵!
welyngj 2004-04-30
  • 打赏
  • 举报
回复
up.
Lulq21cn 2004-04-30
  • 打赏
  • 举报
回复
外部联接"+"的用法

  外部联接"+"按其在"="的左边或右边分左联接和右联接.若不带"+"运算符的表中的一个行不直接匹配于带"+"预算符的表中的任何行,则前者的行与后者中的一个空行相匹配并被返回.若二者均不带’+’,则二者中无法匹配的均被返回.利用外部联接"+",可以替代效率十分低下的 not in 运算,大大提高运行速度.例如,下面这条命令执行起来很慢

select a.empno from emp a where a.empno not in

(select empno from emp1 where job=’SALE’);

  倘若利用外部联接,改写命令如下:

select a.empno from emp a ,emp1 b

where a.empno=b.empno(+)

and b.empno is null

and b.job=’SALE’;

  可以发现,运行速度明显提高.

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧