2010-08-23 16 views
5

¿Qué significa (+) en las cláusulas Where en esta declaración de SQL?¿Qué significa (+) en SQL?

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; 
+3

¿Qué RDBMS se está ejecutando? ¿Servidor SQL? ¿Oráculo? MySQL? ¿Acceso? – Oded

Respuesta

6

En Oracle SQL, este es el outer join operator obsoleta.

+0

Parece existir para DB2/iSeries también; Lo he encontrado al trabajar con consultas anteriores para ese servidor también. –

2

En versiones anteriores de Oracle, esto significa una UNIÓN EXTERIOR.

1

Es un operador de combinación externa en servidor SQL sería *= y =*

3

En Oracle, la (+) especifica que la combinación es una combinación externa (en lugar de una combinación interna como esta sintaxis unirse implícita generalmente implica).

Convertirlo en una combinación externa significa que la fila debe incluirse en los resultados, incluso si ese elemento en particular es nulo.