Volver al curso

SQL y Bases de Datos: Gestion de Datos para el Mundo Real

leccion
6 / 12
beginner
12 horas
Domina el Lenguaje SQL

JOINs: Combinando Tablas

Lectura
45 min~2 min lectura

El Poder de las Relaciones

Los JOINs son quizas la caracteristica mas poderosa de SQL. Permiten combinar datos de multiples tablas basandose en sus relaciones, abriendo un mundo de posibilidades para el analisis de datos.

INNER JOIN: Solo Coincidencias

INNER JOIN devuelve solo los registros que tienen coincidencia en ambas tablas:

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

LEFT JOIN: Todos los de la Izquierda

LEFT JOIN devuelve todos los registros de la tabla izquierda, incluso si no hay coincidencias:

SELECT c.nombre, COUNT(p.id) as num_pedidos
FROM clientes c
LEFT JOIN pedidos p ON c.id = p.cliente_id
GROUP BY c.id;

RIGHT JOIN: Todos los de la Derecha

Opuesto al LEFT JOIN, devuelve todos los registros de la tabla derecha:

SELECT p.nombre, c.nombre as categoria
FROM productos p
RIGHT JOIN categorias c ON p.categoria_id = c.id;

Multiples JOINs

Puedes encadenar multiples JOINs para tablas relacionadas:

SELECT 
    p.nombre as producto,
    c.nombre as categoria,
    prov.nombre as proveedor
FROM productos p
INNER JOIN categorias c ON p.categoria_id = c.id
INNER JOIN proveedores prov ON p.proveedor_id = prov.id;

Ejemplo Practico: Dashboard de Ventas

SELECT 
    CONCAT(e.nombre,  , e.apellido) as vendedor,
    COUNT(DISTINCT v.id) as pedidos,
    SUM(v.monto) as total_vendido,
    AVG(v.monto) as ticket_promedio
FROM vendedores v
INNER JOIN empleados e ON v.vendedor_id = e.id
WHERE v.fecha BETWEEN 2025-01-01 AND 2025-12-31
GROUP BY e.id
ORDER BY total_vendido DESC;