为了账号安全,请及时绑定邮箱和手机立即绑定

Oracle“(+)”运算符

Oracle“(+)”运算符

慕尼黑8549860 2019-07-09 12:53:32
Oracle“(+)”运算符我正在检查一些旧的SQL语句,目的是记录它们并可能对它们进行增强。DBMS是Oracle我不明白有一句话是这样写的:select ...from a,bwhere a.id=b.id(+)我很困惑(+)接线员,在任何论坛上都找不到.(在引号中搜索+也不起作用)。总之,我使用了SQLDeveloper的“解释计划”,我得到了一个输出,它说HASH JOIN, RIGHT OUTER等如果我删除(+)查询结束时的操作符?数据库是否必须满足某些条件(例如有一些索引等)以前(+)可以用吗?如果你能给我一个简单的理解,或者一些我可以阅读到的好链接,那将是非常有帮助的。谢谢!
查看完整描述

3 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

(+)运算符指示外部联接。这意味着即使没有匹配,Oracle仍将从连接的另一端返回记录。例如,如果a和b是emp和dept,并且您可以让员工不被分配到某个部门,那么下面的语句将返回所有员工的详细信息,不管他们是否已被分配到某个部门。

select * from emp, dept where emp.dept_id=dept.dept_id(+)

因此,简而言之,删除(+)可能会产生显着性差异,但根据您的数据,您可能有一段时间没有注意到!


查看完整回答
反对 回复 2019-07-09
  • 3 回答
  • 0 关注
  • 1067 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信