una - Significado de(+) en consultas SQL
sql server sum (4)
He encontrado algunas consultas SQL en Oracle que contienen ''(+)'' y no tengo idea de lo que eso significa. ¿Puede alguien explicar su propósito o proporcionar algunos ejemplos de su uso? Gracias
El + es un atajo para OUTER JOIN, dependiendo de en qué lado lo pongas, indica una UNIÓN EXTERIOR IZQUIERDA O DERECHA
Consulte la segunda entrada en esta publicación del foro para ver algunos ejemplos
IIRC, el + se utiliza en versiones anteriores de Oracle para indicar una combinación externa en la sintaxis de unión SQL anterior a ANSI. En otras palabras:
select foo,bar
from a, b
where a.id = b.id+
es el equivalente de
select foo,bar
from a left outer join b
on a.id = b.id
NOTA: esto puede ser al revés / ligeramente incorrecto, ya que nunca he usado la sintaxis SQL anterior a ANSI.
Usted usa esto para asegurarse de que la tabla a la que se une no reduzca la cantidad de registros devueltos. Por lo tanto, es útil cuando te unes a una tabla que puede no tener un registro por cada tecla con la que te estás uniendo.
Por ejemplo, si se uniera a una tabla de clientes y compras:
Para hacer una lista de todos los clientes y todas sus compras, desea realizar una combinación externa (+) en la tabla de compras para que los clientes que no hayan comprado nada aún aparezcan en su informe.
Es el sinónimo de Oracle para OUTER JOIN
.
SELECT *
FROM a, b
WHERE b.id(+) = a.id
da el mismo resultado que
SELECT *
FROM a
LEFT OUTER JOIN b
ON b.id = a.id