oracle中的字段后面有加号是什么意思

象这样a.emp_no=b.emp_no(+)什么意思,多说一点详细一点... 象这样
a.emp_no = b.emp_no (+)
什么意思,多说一点详细一点
展开
 我来答
床前明月儿
高能答主

2020-02-22 · 探索生活中的另一种可能
床前明月儿
采纳数:101 获赞数:171951

向TA提问 私信TA
展开全部

两种作用,第一个作用相当于左连接,第二个作用是过滤 p表的记录再进行关联。

例如:

select p.fdept_id, decode(p.fis_allow_edit, 'Y', '0', null) ftalbe_desc, t.* from hthis.p_cp_table t, hthis.PSTDEPTCP p where t.ftable_id = p.ftable_id(+)  and p.fdept_id(+) = '9999';

相当于:

select p.fdept_id, decode(p.fis_allow_edit, 'Y', '0', null) ftalbe_desc, t.* from hthis.p_cp_table t, (select * from hthis.PSTDEPTCP where fdept_id = '9999')  p where t.ftable_id = p.ftable_id(+);


扩展资料

连接分为左外连接,右外连接,全外连接。对应SQL:LEFT/RIGHT/FULL OUTER JOIN。

outer join则会返回每个满足第一个(顶端)输入与第二个(底端)输入的联接的行。它还返回任何在第二个输入中没有匹配行的第一个输入中的行。

在左外连接和右外连接时都会以一张表为基表,该表的内容会全部显示,然后加上两张表匹配的内容。如果基表的数据在另一张表没有记录。那么在相关联的结果集行中列显示为空值(NULL)。

参考资料来源:百度百科-外连接

simon_999
推荐于2017-11-25 · TA获得超过363个赞
知道小有建树答主
回答量:132
采纳率:0%
帮助的人:197万
展开全部
不论把(+)写在等号左边项还是右边项,统称为外连接

在内连接中,只返回那些在连接表中有匹配数据的数据行

外连接即在被连接的表中加入一个空行来与没有匹配行的数据进行匹配

比如查询员工所属的部门,总裁不属于任何部门,(老板不属于任何部门,dname项是空的)

select e.emp_name ename,d.dept_name dname
from emp e, dept d
where e.dept_no=d.dept_no(+)

ename dname
——————————
sam SALES
tom ACCOUNTING
king
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aryzhang1234
2008-01-18 · 超过92用户采纳过TA的回答
知道小有建树答主
回答量:449
采纳率:0%
帮助的人:0
展开全部
表的连接,你查查oracle的左联和右联吧,记不清是左联还是右联了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式