IOKELU
Nivel: Basico
💡 Prueba las consultas:
Puedes ejecutar cualquier JOIN en nuestra consola interactiva: Abrir consola SQL →

JOINS en SQL: combina datos de varias tablas

Los JOINS permiten combinar datos de dos o más tablas usando columnas relacionadas. Son esenciales para trabajar con bases de datos relacionales y obtener información completa.

1. ¿Qué es un JOIN?

Un JOIN combina filas de dos tablas usando una columna en común. Ejemplo típico: unir usuarios con sus pedidos.


SELECT usuarios.nombre, pedidos.producto
FROM usuarios
JOIN pedidos ON usuarios.id = pedidos.usuario_id;
    

2. INNER JOIN

Devuelve solo las filas que coinciden en ambas tablas.


SELECT u.nombre, p.producto
FROM usuarios u
INNER JOIN pedidos p ON u.id = p.usuario_id;
    

3. LEFT JOIN

Devuelve todas las filas de la tabla izquierda, aunque no haya coincidencia.


SELECT u.nombre, p.producto
FROM usuarios u
LEFT JOIN pedidos p ON u.id = p.usuario_id;
    

Devuelve todas las filas de la tabla derecha, aunque no haya coincidencia.


SELECT u.nombre, p.producto
FROM usuarios u
RIGHT JOIN pedidos p ON u.id = p.usuario_id;
    

5. FULL JOIN

Devuelve todas las filas cuando hay coincidencia en cualquiera de las tablas.


SELECT u.nombre, p.producto
FROM usuarios u
FULL JOIN pedidos p ON u.id = p.usuario_id;
    

6. JOINS múltiples


SELECT u.nombre, p.producto, c.ciudad
FROM usuarios u
JOIN pedidos p ON u.id = p.usuario_id
JOIN ciudades c ON u.ciudad_id = c.id;
    

7. Ejemplos prácticos


SELECT * FROM usuarios u
INNER JOIN pedidos p ON u.id = p.usuario_id;

SELECT * FROM usuarios u
LEFT JOIN pedidos p ON u.id = p.usuario_id;

SELECT * FROM productos p
JOIN categorias c ON p.categoria_id = c.id;
    

8. Ejercicios para practicar

9. Mini‑proyecto: Sistema de pedidos


CREATE TABLE usuarios (
    id INT PRIMARY KEY,
    nombre VARCHAR(50)
);

CREATE TABLE pedidos (
    id INT PRIMARY KEY,
    usuario_id INT,
    producto VARCHAR(50)
);

INSERT INTO usuarios VALUES (1, 'Ana'), (2, 'Luis');
INSERT INTO pedidos VALUES (1, 1, 'Teclado'), (2, 1, 'Ratón'), (3, 2, 'Monitor');

SELECT u.nombre, p.producto
FROM usuarios u
JOIN pedidos p ON u.id = p.usuario_id;
    

10. Errores comunes

11. Preguntas frecuentes

¿INNER JOIN es el más usado?

Sí, es el JOIN más común en SQL.

¿Puedo unir más de dos tablas?

Sí, puedes unir tantas como necesites.


Siguiente guía

SQL Básico – LIMIT →