Ejemplo de tipos de Joins en SQL

Tiempo de lectura: 2 minutos

En SQL, los joins son utilizados para combinar filas de dos o más tablas basadas en una condición relacionada entre ellas. Hay varios tipos de joins, pero los más importantes son: INNER JOIN, LEFT JOIN, RIGHT JOIN y FULL JOIN.

A continuación, te mostraré cómo utilizar cada uno con ejemplos.

1. INNER JOIN

El INNER JOIN devuelve solo las filas que tienen una coincidencia en ambas tablas.

Sintaxis:

SELECT columnas
FROM tabla1
INNER JOIN tabla2 ON tabla1.columna = tabla2.columna;

Ejemplo:
Supongamos que tenemos dos tablas: clientes y pedidos. Queremos obtener los nombres de los clientes y los pedidos que han realizado.

SELECT clientes.nombre, pedidos.producto
FROM clientes
INNER JOIN pedidos ON clientes.id = pedidos.cliente_id;

2. LEFT JOIN

El LEFT JOIN devuelve todas las filas de la tabla izquierda y las filas coincidentes de la tabla derecha. Si no hay coincidencias, devuelve NULL en las columnas de la tabla derecha.

Sintaxis:

SELECT columnas
FROM tabla1
LEFT JOIN tabla2 ON tabla1.columna = tabla2.columna;

Ejemplo:
Queremos obtener todos los clientes, incluso aquellos que no han realizado pedidos.

SELECT clientes.nombre, pedidos.producto
FROM clientes
LEFT JOIN pedidos ON clientes.id = pedidos.cliente_id;

3. RIGHT JOIN

El RIGHT JOIN devuelve todas las filas de la tabla derecha y las filas coincidentes de la tabla izquierda. Si no hay coincidencias, devuelve NULL en las columnas de la tabla izquierda.

Sintaxis:

SELECT columnas
FROM tabla1
RIGHT JOIN tabla2 ON tabla1.columna = tabla2.columna;

Ejemplo:
Queremos obtener todos los pedidos, incluso aquellos que no tienen un cliente asociado.

SELECT clientes.nombre, pedidos.producto
FROM clientes
RIGHT JOIN pedidos ON clientes.id = pedidos.cliente_id;

4. FULL JOIN

El FULL JOIN devuelve todas las filas cuando hay una coincidencia en una de las tablas. Si no hay coincidencias, devuelve NULL en las columnas de la tabla que no tiene coincidencias.

Sintaxis:

SELECT columnas
FROM tabla1
FULL JOIN tabla2 ON tabla1.columna = tabla2.columna;

Ejemplo:
Queremos obtener todos los clientes y todos los pedidos, incluyendo aquellos que no tienen una correspondencia en la otra tabla.

SELECT clientes.nombre, pedidos.producto
FROM clientes
FULL JOIN pedidos ON clientes.id = pedidos.cliente_id;

Deja un comentario