此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;
答案 0 :(得分:6)
在Oracle SQL中,这是已弃用的outer join operator。
答案 1 :(得分:3)
在Oracle中,(+)指定连接是外连接(而不是内连接,因为这种隐式连接语法通常意味着)。
使其成为外连接意味着即使该特定项为空,该行也应包含在结果中。
答案 2 :(得分:2)
在旧的Oracle版本中,这意味着OUTER JOIN。
答案 3 :(得分:1)
它是sql server中的外连接运算符,它将是*=
和=*