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

INNER JOIN en SQL: combina datos con coincidencias exactas

INNER JOIN devuelve solo las filas que tienen coincidencia en ambas tablas. Es el JOIN más usado en SQL y la base de la mayoría de reportes y consultas relacionales.

1. ¿Qué es INNER JOIN?

INNER JOIN devuelve solo las filas que coinciden en ambas tablas según la condición ON. Si no hay coincidencia, la fila no aparece en el resultado.


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

2. Sintaxis de INNER JOIN


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

3. Ejemplo básico


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

4. INNER JOIN con múltiples tablas


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

5. INNER JOIN con condiciones adicionales


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

6. Ejemplos prácticos


SELECT e.nombre, d.nombre AS departamento
FROM empleados e
INNER JOIN departamentos d ON e.depto_id = d.id;

SELECT p.producto, c.nombre AS categoria
FROM productos p
INNER JOIN categorias c ON p.categoria_id = c.id;

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

7. Ejercicios para practicar

8. Mini‑proyecto: Reporte de pedidos por usuario


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

9. Errores comunes

10. Preguntas frecuentes

¿INNER JOIN es el JOIN más usado?

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

¿Puedo unir más de dos tablas?

Sí, puedes unir tantas como necesites.


Siguiente guía

SQL Intermedio – LEFT JOIN →