SQL Join: Unir consultas

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).

sql join

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)

Ejemplo SQL: INNER JOIN (Unión interna)


SELECT tabla1.columna1, tabla1.columna2, tabla2.columna3
FROM tabla1
INNER JOIN tabla2
ON tabla1.id = tabla2.fk_id
WHERE tabla1.columna1 IS NOT NULL;

Sintaxis de CROSS JOIN (unión cruzada en sql

Ejemplo SQL: CROSS JOIN (Unión cruzada)


SELECT tabla1.columna1, tabla2.columna2
FROM tabla1
CROSS JOIN tabla2;

Sintaxis de LEFT JOIN (unión izquierda en sql)

Ejemplo SQL: LEFT JOIN (Unión izquierda)


SELECT tabla1.columna1, tabla2.columna2
FROM tabla1
LEFT JOIN tabla2 ON tabla1.id = tabla2.fk_id;

Sintaxis de RIGHT JOIN (unión derecha en sql)

Ejemplo SQL: RIGHT JOIN (Unión derecha)


SELECT tabla1.columna1, tabla2.columna2
FROM tabla1
RIGHT JOIN tabla2 ON tabla1.id = tabla2.fk_id;

Sintaxis de Full JOIN (Unión externa completa en sql)

Ejemplo SQL: FULL JOIN (Unión externa completa)


SELECT tabla1.columna1, tabla2.columna2
FROM tabla1
FULL JOIN tabla2 ON tabla1.id = tabla2.fk_id;

Sintaxis de Natural JOIN (Unión natural entre 2 tabla en sql)

Ejemplo SQL: NATURAL JOIN (Unión natural)


SELECT *
FROM tabla1
NATURAL JOIN tabla2;

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 sql join 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.

Deja un comentario

📢 Comparte este contenido

Compartir en Facebook Compartir en Twitter Compartir en LinkedIn Compartir en WhatsApp Compartir en Pinterest Compartir en Reddit