El comando sql Join le permite unir los resultados de varias consultas que utilizan el propio comando SELECT. Por lo tanto, es un comando que le permite concatenar los resultados de 2 o más consultas. Para utilizarlo es necesario que cada una de las consultas a concatenar devuelva el mismo número de columnas, con los mismos tipos de datos y en el mismo orden.
Por defecto, los registros exactamente idénticos no se repetirán en los resultados. Para realizar una unión en la que se muestran incluso filas duplicadas, debe utilizar el comando sql Join ALL.
SQL join unión de dos conjuntos
La unión de 2 conjuntos A y B con sql join es un concepto que consiste en obtener todos los elementos que corresponden tanto al conjunto A como al conjunto B. Esto se resume de forma muy sencilla en un pequeño diagrama donde el área en azul corresponde al área que se quiere obtener (en nuestro caso: todos los elementos).
Tipos de uniones con el comando sql join
Hay varios métodos para asociar 2 tablas juntas en sql server. Aquí está la lista de las diferentes técnicas que se utilizan con sql join:
- INNER JOIN: para devolver registros cuando la condición es true en las 2 tablas. Esta es una de las uniones más comunes.
- CROSS JOIN: unión cruzada para hacer el producto cartesiano de 2 tablas. En otras palabras, une cada fila de una tabla con cada fila de una segunda tabla. Tenga cuidado, el número de resultados es generalmente muy alto.
- LEFT JOIN (o LEFT OUTER JOIN): Unión externa para devolver todos los registros de la tabla izquierda (LEFT = left) incluso si la condición no está marcada en la otra tabla.
- RIGHT JOIN (o UNIÓN EXTERNA DERECHA): Unión externa para devolver todos los registros de la tabla derecha (DERECHA = derecha) incluso si la condición no está marcada en la otra tabla.
- FULL JOIN (o UNIÓN EXTERNA COMPLETA): Unión externa para devolver resultados cuando la condición es verdadera en al menos una de las 2 tablas.
- NATURAL JOIN: unión natural entre 2 tablas si hay al menos una columna con el mismo nombre entre las 2 tablas SQL
Sintaxis de inner join (unión interna en sql)
SELECT *
FROM A
INNER JOIN B ON A.key = B.key
Sintaxis de CROSS JOIN (unión cruzada en sql
SELECT *
FROM A
CROSS JOIN B
Sintaxis de LEFT JOIN (unión izquierda en sql)
SELECT *
FROM A
LEFT JOIN B ON A.id = B.fk_id
Sintaxis de RIGHT JOIN (unión derecha en sql)
SELECT *
FROM A
RIGHT JOIN B ON A.id = B.fk_id
Sintaxis de Full JOIN (Unión externa completa en sql)
SELECT *
FROM A
FULL JOIN B ON A.id = B.fk_id
Sintaxis de Natural JOIN (Unión natural entre 2 tabla en sql)
SELECT * FROM A NATURAL JOIN B
Conclusión
Las declaraciones de unión de SQL nos ayudan a combinar las filas y columnas y partes de varias tablas y verlas como una sola. Mediante el uso de uniones, podemos combinar y presentar datos fácilmente en una sola tabla. Como se ve, usamos en SQL JOIN para agregar y obtener los campos de diferentes tablas.
- Inner Join obtiene registros donde se cumple la condición dada.
- Left Join le dará todas las filas de la tabla de la izquierda, incluso cuando la condición dada no coincida.
- Right Join le dará todas las filas de la tabla de la derecha, incluso cuando la condición dada no coincida.
- Full Join devuelve todas las filas cuando hay una coincidencia en una de las tablas.
- Las consultas de unión se pueden usar con comandos como: SELECCIONAR, INSERTAR, ACTUALIZAR y ELIMINAR.
- Las uniones también se llevan bien con diferentes cláusulas como: GROUP BY, SUB QUERIES, WHERE, AGGREGATE FUNCTIONS, etc.