Tipos de JOIN en SQL

Clase 27 de 36Curso de Bases de Datos con SQL

Resumen

¿Qué son los tipos de "join" en SQL?

En el ámbito del manejo de bases de datos, especialmente al trabajar con SQL, los "join" son esenciales para relacionar y combinar información de diferentes tablas. Estos permiten obtener datos detallados y completos, enriquecer nuestras consultas y hacer un análisis más robusto de los datos. Conocer los diferentes tipos de "join" es crucial para aprovechar al máximo el potencial de SQL. Analicemos cada uno de ellos.

¿Cómo funciona el Inner Join?

El Inner Join es uno de los tipos de "join" más utilizados en SQL. Su propósito es devolver únicamente los registros que tienen coincidencias en ambas tablas involucradas en la consulta. Por ejemplo, si tenemos dos tablas que contienen letras del abecedario, el Inner Join solo mostrará aquellas letras que están presentes en ambas tablas. Si las tablas contienen las letras A, B, C en una y A, C, D en la otra, el Inner Join mostraría A y C, al ser los únicos elementos comunes.

SELECT * FROM tabla1
INNER JOIN tabla2 ON tabla1.letra = tabla2.letra;

¿Qué hace un Left Join?

El Left Join es útil cuando queremos obtener todos los registros de la tabla a la izquierda de nuestra consulta, junto con las coincidencias de la tabla derecha. Si no hay coincidencias, el resultado incluirá NULL para los registros de la tabla derecha que no coinciden. Siguiendo el ejemplo de las letras, al usar un Left Join con la tabla1 a la izquierda y tabla2 a la derecha, obtendremos todas las letras de tabla1 y las coincidencias con tabla2.

SELECT * FROM tabla1
LEFT JOIN tabla2 ON tabla1.letra = tabla2.letra;

¿Cómo opera el Right Join?

El Right Join es casi idéntico al Left Join, pero enfocado en la tabla derecha. Devolverá todos los registros de la tabla derecha, y las coincidencias o NULL donde no existan en la tabla izquierda. Si se tiene la tabla2 a la derecha, el resultado incluirá todas las letras de tabla2, más las coincidencias de tabla1.

SELECT * FROM tabla1
RIGHT JOIN tabla2 ON tabla1.letra = tabla2.letra;

¿Qué es el Full Outer Join?

El Full Outer Join combina los resultados del Left Join y del Right Join. Esto significa que mostrará todos los registros de ambas tablas, duplicando donde existan coincidencias y llenando con NULL donde no haya coincidencias. Esta función es potente para obtener una visión completa de los datos, ya que agrupa toda la información de ambas tablas, sin importar si hay coincidencias o no.

SELECT * FROM tabla1
FULL OUTER JOIN tabla2 ON tabla1.letra = tabla2.letra;

¿Cómo utilizar el Cross Join?

El Cross Join crea un producto cartesiano de las dos tablas involucradas, lo que significa que devuelve cada fila de la primera tabla combinada con cada fila de la segunda tabla. Este "join" no necesita una condición ON, ya que simplemente toma todas las combinaciones posibles de registros.

Imaginemos una tabla de productos y otra de marcas. Al aplicar un Cross Join, cada producto se combina con cada marca, generando todas las combinaciones posibles.

SELECT productos.nombre, marcas.nombre 
FROM productos
CROSS JOIN marcas;

Los "joins" son herramientas poderosas en SQL que permiten relacionar distintos elementos de bases de datos, facilitando la creación de reportes detallados y entendimientos profundos de los datos. Con estos conocimientos, estás preparado para empezar a realizar combinaciones de tablas de manera efectiva y adecuada.