Comparar las instrucciones SQL de unión interna y unión externa
-
05-07-2019 - |
Pregunta
¿Cuál es la diferencia entre una unión interna y una externa? ¿Cuál es el significado preciso de estos dos tipos de combinaciones?
Solución
Otros consejos
Wikipedia tiene un largo y agradable artículo sobre el tema [aquí] ( http: // en.wikipedia.org/wiki/Join_(SQL))
Pero básicamente:
- Las combinaciones internas devuelven resultados donde hay filas que satisfacen la cláusula where en TODAS las tablas
- Las uniones externas devuelven resultados donde hay filas que satisfacen la cláusula where en al menos una de las tablas
Utiliza INNER JOIN para devolver todas las filas de ambas tablas donde hay una coincidencia. es decir. en la tabla resultante, todas las filas y columnas tendrán valores.
En OUTER JOIN, la tabla resultante puede tener columnas vacías. La unión externa puede ser IZQUIERDA o DERECHA
LEFT OUTER JOIN devuelve todas las filas de la primera tabla, incluso si no hay coincidencias en la segunda tabla.
RIGHT OUTER JOIN devuelve todas las filas de la segunda tabla, incluso si no hay coincidencias en la primera tabla.
INNER JOIN
devuelve filas que existen en ambas tablas
OUTER JOIN
devuelve todo filas que existen en cualquier tabla
La unión interna solo devuelve una fila unida si el registro aparece en ambas tablas. La unión externa según la dirección mostrará todos los registros de una tabla, unidos a los datos de la tabla combinada donde existe una fila correspondiente
Usando un conjunto matemático,
Inner Join is A ^ B;
Outer Join is A - B.
Entonces es (+) su lado A en la consulta.
Suponga un esquema de ejemplo con los clientes y el pedido:
UNIÓN INTERNA: recupera clientes solo con pedidos.
IZQUIERDA EXTERIOR ÚNETE: recupera a todos los clientes con o sin pedidos.
UNIÓN EXTERIOR DERECHA: recupera todos los pedidos con o sin registros de clientes coincidentes.
Para obtener información un poco más detallada, consulte Inner y las declaraciones SQL de unión externa