
¿Cómo funciona LEFT JOIN de MySQL?
Capítulo 31: Uniones con LEFT JOIN
content-image con los joins. En esta ocasión te mostraré LEFT JOIN
, el cual devuelve todas las filas de la tabla izquierda. Las filas de la tabla derecha se obtienen solo si hay coincidencia con las de la izquierda. Los valores que haya en la tabla izquierda, pero no en la derecha, saldrán como NULL
.
Nos han pedido realizar una consulta con todos los clientes y sus pedidos. La dirección quiere que obtengamos también los clientes que no han realizado ningún pedido, así de paso, les enviarán publicidad más agresiva. Gracias a LEFT JOIN
, lo podemos conseguir.
SELECT customers.customerNumber,
customers.customerName,
orders.orderNumber
FROM customers
LEFT JOIN orders ON
customers.customerNumber = orders.customerNumber
ORDER BY orders.orderNumber ASC;
El resultado, es que nos muestra primero los clientes que no tienen pedidos hechos (este orden por el ORDER BY
):

Después, el resto de clientes que han realizado pedidos. Una fila por pedido.

La diferencia de hacer esto con LEFT JOIN
e INNER JOIN
, es que con INNER JOIN
, saldrían solo los clientes que han realizado pedidos.
Si quieres aprender todo sobre SQL, no te pierdas mi curso gratuito de Máster en SQL.
Comentarios
Si te quedan dudas sobre el temario, sobre SQL, MySQL o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.