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

时间:2010-08-23 16:53:12

标签: sql

此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;

4 个答案:

答案 0 :(得分:6)

在Oracle SQL中,这是已弃用的outer join operator

答案 1 :(得分:3)

在Oracle中,(+)指定连接是外连接(而不是内连接,因为这种隐式连接语法通常意味着)。

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

答案 2 :(得分:2)

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

答案 3 :(得分:1)

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