WHERE 子句中的(+)是什么含义

zw0206 2011-09-20 06:02:44
分析以下的SQL命令:

SELECT i.id_number, m.manufacturer_name

FROM inventory i, manufacturer m

WHERE i.manufacturer_id(+) = m.id_number;

WHERE 子句中的(+)是什么含义?

A 将inventory表中不满足条件的记录也查出来

B 将i.manufacturer_id+ m.id_number

C将manufacturer表中不满足条件的记录也查出来

D 不能这样写,语法错误

...全文
7800 51 打赏 收藏 转发到动态 举报
写回复
用AI写文章
51 条回复
切换为时间正序
请发表友善的回复…
发表回复
请叫我-雷人 2014-04-24
  • 打赏
  • 举报
回复
C。没有(+)的一边出来全部数据
WSZHAO_SELECT 2014-04-23
  • 打赏
  • 举报
回复
SELECT * FROM tabA,tabB WHERE tabA(+)=tabB;---右連接 等同于select * from tabA A right join tabB B on A.SID= B.SID; SELECT * FROM tabA,tabB WHERE tabA=tabB(+);---左連接 等同于select * from tabA A left join tabB B on A.SID= B.SID; 火了这帖子
卖水果的net 2014-04-23
  • 打赏
  • 举报
回复
这帖子又浮起来了。 (+)的用法,你可以这样记一下: 谁的数据少,谁就要(+)一下,谁的关联列就要用一个(+),满足对方表的匹配。
gangma2 2014-04-11
  • 打赏
  • 举报
回复
(+)放到=左边是前面的表和后面那个表做右连接,(+)放到=右边是前面的表和后面那个表进行左连接, (+)不能做全连接。
sych888 2014-04-09
  • 打赏
  • 举报
回复
right join
大脸猫o 2014-04-09
  • 打赏
  • 举报
回复
好像 全关联和笛卡尔积还有一定的区别,笛卡尔积数据更多一些
大脸猫o 2014-04-09
  • 打赏
  • 举报
回复
左外关联,保证等号右边的表对应了 全部显示 4种关联方式,内关联即等值关联 ,左外右外关联,全关联 即笛卡尔积
yanshuqiang123 2014-04-08
  • 打赏
  • 举报
回复
+号所在的那个表为从表,另外一个为主表,主表的数据是全部显示的,从表的数据是只显示满足条件的数据。
lxyzxq2008 2014-01-02
  • 打赏
  • 举报
回复
引用 33 楼 ai_quaner 的回复:
[quote=引用 1 楼 lxyzxq2008 的回复:] c 这个是右连接,也就是说以右侧的表为主表,将右侧表的数据全部表示出来
不过这和right join有啥区别呢?性能区别?[/quote] 理论上没有区别,该结贴了哥们
一干好几年 2013-05-10
  • 打赏
  • 举报
回复
木有错,应该推荐新的标准。
引用 18 楼 ryanbi_no1 的回复:
两个都可以,(+)这是sql92的写法,left join是sql99的写法,从文法上说,99的比较好。
Onlineforeve 2013-05-09
  • 打赏
  • 举报
回复
引用 3 楼 lxyzxq2008 的回复:
sample:
tab1:
1   100
2   200
3   300

tab2:
1   A
2   B
4   D
一.left join(左连接)
select * from tab1, tab2 where tab1.id = tab2.id(+)
---------------------------
1  A   100
2  B   200
3       300
ps:左连接,以‘+’号左边的表为主表,将tab1中的数据全部表示出来,而右边的表只表示符合条件的

二.right join(右连接)
select * from tab1, tab2 where tab1.id(+) = tab2.id
---------------------------
1  A   100
2  B   200
4  D
ps:右连接,以‘+’号右边的表为主表,将tab2中的数据全部表示出来,而左边的表只表示符合条件的

三。inner join(全连接)
这个就不说了
这个很不错!
十年彩虹 2013-04-13
  • 打赏
  • 举报
回复
+号出现在左边的时候是右外连接。
十年彩虹 2013-04-11
  • 打赏
  • 举报
回复
就ORacle 可以。
  • 打赏
  • 举报
回复
带+号的表缺少元素,以保证左边的表数据都能查出来。
yameing 2013-04-01
  • 打赏
  • 举报
回复
bingyuji_xiyalan 2013-02-16
  • 打赏
  • 举报
回复
相当于右外连接(保留右侧不满足查询条件的),如果放在右侧就是左外连接
善若止水 2013-02-01
  • 打赏
  • 举报
回复
右外连接,选c
人间太皮 2013-01-28
  • 打赏
  • 举报
回复
引用 1 楼 lxyzxq2008 的回复:
c 这个是右连接,也就是说以右侧的表为主表,将右侧表的数据全部表示出来
不过这和right join有啥区别呢?性能区别?
人间太皮 2013-01-28
  • 打赏
  • 举报
回复
引用 1 楼 lxyzxq2008 的回复:
c 这个是右连接,也就是说以右侧的表为主表,将右侧表的数据全部表示出来
学习了
SKYingX 2013-01-26
  • 打赏
  • 举报
回复
左外链接,不想等的时候用空补齐
加载更多回复(30)

2,668

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 认证与考试
社区管理员
  • 认证与考试社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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