top of page

Combinando tablas con JOIN

¡Hola! En este post, vamos a sumergirnos en el emocionante mundo de JOIN en SQL. Si trabajas con bases de datos, es probable que necesites combinar información de diferentes tablas, y eso es exactamente lo que hacen las operaciones JOIN. Vamos a explorar cómo funcionan y los diferentes tipos que existen.


¿Qué es un JOIN?

Un JOIN permite combinar filas de dos o más tablas en una sola consulta, basándose en una relación entre ellas. Esta relación normalmente se establece mediante columnas que comparten las tablas, como una clave primaria y una clave foránea.


Tipos de JOIN

Existen varios tipos de JOIN, pero hoy nos enfocaremos en los más comunes:


1. INNER JOIN

El INNER JOIN devuelve solo las filas que tienen coincidencias en ambas tablas. Es el tipo de JOIN más utilizado.

Sintaxis básica:

SELECT columnas 
FROM tabla1 
INNER JOIN tabla2 
ON tabla1.columna_común = tabla2.columna_común;

Ejemplo: Supongamos que tienes dos tablas, clientes y pedidos. Si quieres obtener una lista de clientes y sus pedidos, puedes hacer:

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

2. LEFT JOIN (o LEFT OUTER JOIN)

El LEFT JOIN devuelve todas las filas de la tabla izquierda (tabla1) y las filas coincidentes de la tabla derecha (tabla2). Si no hay coincidencias, el resultado será NULL en la tabla derecha.

Sintaxis básica:

SELECT columnas 
FROM tabla1 
LEFT JOIN tabla2 
ON tabla1.columna_común = tabla2.columna_común;

Ejemplo: Siguiendo con el ejemplo anterior, si deseas obtener todos los clientes, independientemente de si tienen pedidos, utilizarías un LEFT JOIN:

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

3. RIGHT JOIN (o RIGHT OUTER JOIN)

El RIGHT JOIN es similar al LEFT JOIN, pero devuelve todas las filas de la tabla derecha y las filas coincidentes de la tabla izquierda.

Sintaxis básica:

SELECT columnas 
FROM tabla1 
RIGHT JOIN tabla2
ON tabla1.columna_común = tabla2.columna_común;

4. FULL JOIN (o FULL OUTER JOIN)

El FULL JOIN devuelve filas cuando hay una coincidencia en una de las tablas. Es la combinación de LEFT JOIN y RIGHT JOIN.

Sintaxis básica:

SELECT columnas 
FROM tabla1 
FULL JOIN tabla2 
ON tabla1.columna_común = tabla2.columna_común;

Ejemplo Completo

Imagina que quieres crear un informe que muestre todos los clientes y sus pedidos, incluyendo aquellos clientes que no han realizado pedidos. Podrías usar un LEFT JOIN como este:

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

Resumen rápido:

  • INNER JOIN: Solo devuelve filas con coincidencias en ambas tablas.

  • LEFT JOIN: Devuelve todas las filas de la tabla izquierda y las coincidencias de la derecha.

  • RIGHT JOIN: Devuelve todas las filas de la tabla derecha y las coincidencias de la izquierda.

  • FULL JOIN: Devuelve filas cuando hay coincidencias en una de las tablas.


Utilizar JOIN te permite acceder a información más rica y completa al combinar datos de diferentes tablas. ¡Experimenta con ellos en tus consultas!


191 views

Yorumlar


bottom of page