JOIN (INNER y LEFT)

Combina filas de dos tablas cuando coincide una clave. Un INNER JOIN conserva solo las coincidencias; un LEFT JOIN conserva todas las filas de la tabla izquierda.

Sintaxis

SELECT … FROM a JOIN b ON a.key = b.key;
SELECT … FROM a LEFT JOIN b ON a.key = b.key;

Ejemplo

SELECT c.last_name, o.order_date FROM customers AS c JOIN orders AS o ON o.customer_id = c.customer_id;

Cada pedido con el apellido de su cliente. Los pedidos sin cliente quedan fuera.

Tablas usadas: customers, orders. Pruébalo en una lección de abajo.

Errores comunes

  • Olvidar la condición ON crea un CROSS JOIN: cada fila emparejada con todas las demás.
  • Filtrar la tabla derecha en WHERE convierte un LEFT JOIN otra vez en un INNER JOIN.

Practícalo