(+) 在 SQL 中是什么意思?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/3549798/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-01 07:17:52  来源:igfitidea点击:

What does (+) mean in SQL?

sql

提问by muncherelli

What does the (+) mean in the Where Clauses in this SQL statement?

此 SQL 语句的 Where 子句中的 (+) 是什么意思?

SELECT  p.FIRSTNAME,
        p.LASTNAME,
        p.LOGINNAME,
        a.DESCRIPTION,
        a.PERIPHERALNUMBER,
        a.SUPERVISORAGENT,
        t.ENTERPRISENAME,
        t.DIALEDNUMBERID,
        sp.FIRSTNAME AS SUPER_FIRSTNAME,
        sp.LASTNAME AS SUPER_LASTNAME,
        sp.LOGINNAME AS SUPER_LOGINNAME,
        sa.PERIPHERALNUMBER AS SUPER_PERIPHERALNUMBER,
        sa.SUPERVISORAGENT AS SUPER_SUPERVISORAGENT,
        a.SKILLTARGETID,
        a.PERSONID,
        t.AGENTTEAMID,
        sa.SKILLTARGETID AS SUPER_SKILLTARGETID,
        sa.PERSONID AS SUPER_PERSONID
FROM    C2O.AGENT a,
        C2O.PERSON p,
        C2O.AGENT_TEAM_MEMBER tm,
        C2O.AGENT_TEAM t,
        C2O.AGENT sa,
        C2O.PERSON sp
WHERE   a.PERSONID = p.PERSONID
AND     a.SKILLTARGETID = tm.SKILLTARGETID(+)
AND     tm.AGENTTEAMID = t.AGENTTEAMID(+)
AND     t.PRISUPERVISORSKILLTARGETID = sa.SKILLTARGETID(+)
AND     sa.PERSONID = sp.PERSONID(+)
AND     a.DELETED = 'N'
AND     p.LOGINENABLED = 'Y'
AND     SUBSTR(a.PERIPHERALNUMBER,2,3) = 580;

回答by meriton

In Oracle SQL, this is the deprecated outer join operator.

在 Oracle SQL 中,这是不推荐使用的外连接运算符

回答by Jacob Mattison

In Oracle, the (+) specifies that the join is an outer join (instead of an inner join as this implicit join syntax usually implies).

在 Oracle 中,(+) 指定联接是外联接(而不是这种隐式联接语法通常暗示的内联接)。

Making it an outer join means that the row should be included in the results even if that particular item is null.

使其成为外连接意味着即使该特定项为空,该行也应包含在结果中。

回答by Frank

In old Oracle versions, this means an OUTER JOIN.

在旧的 Oracle 版本中,这意味着 OUTER JOIN。

回答by SQLMenace

It is an outer join operator in sql server it would be *=and =*

它是 sql server 中的外连接运算符,它是 *==*