¿Qué población deberías mantener?
INNER JOIN devuelve solo filas que coinciden. LEFT JOIN mantiene todas las filas de la tabla de la izquierda y completa las columnas que faltan con NULL.
Para encontrar clientes sin pedido, hay que dejar clientes. Para analizar solo los pedidos vinculados a un cliente válido, INNER JOIN expresa mejor la necesidad.
La consulta explicada
Empieza por definir qué debe representar una fila del resultado. Esta decisión determina las columnas, agrupaciones y controles necesarios.
El siguiente ejemplo aísla el mecanismo principal. Ejecútelo, observe el resultado y luego cambie una cláusula a la vez para comprender su efecto.
SELECT c.nom, COUNT(co.id_commande) AS commandes
FROM clients c
LEFT JOIN commandes co ON co.id_client = c.id_client
GROUP BY c.id_client, c.nom;Lea el resultado como un analista.
COUNT es para el ID de comando que admite valores NULL, no para *. Por lo tanto, un cliente no igualado obtiene cero.
Un filtro de pedidos realizados en WHERE podría eliminar las líneas NULL y cancelar el efecto de LEFT JOIN; colóquelo en ON si la población izquierda debe permanecer completa.
- Nombra la población de referencia.
- Planifique líneas inigualables.
- Cuenta una columna en el lado derecho.
- Verificar los filtros colocados en ON o WHERE.
Errores que distorsionan el análisis
Una consulta puede ser válida sin responder correctamente a la pregunta. Los errores más costosos suelen ser silenciosos: perímetro incorrecto, línea multiplicada o valor faltante interpretado como cero.
Antes de compartir el resultado, compárelo con una pequeña muestra calculada manualmente y mantén la definición del alcance con la consulta.
- Elija INNER JOIN por costumbre.
- Coloque un filtro derecho en WHERE después de LEFT JOIN.
- Cuenta * y muestra 1 para una ausencia.
- Agrupa solo por nombre y fusiona homónimos.
Ponte en practica
Haga el ejercicio de los clientes sin un pedido y luego vuelva a escribirlo con NOT EXISTS.
El simulador SQL de SQL.tn solo ejecuta consultas de lectura sobre datos ficticios en su navegador. Puede probar varias escrituras y comparar sus resultados sin instalar ningún software.
Pon esta guía en práctica.
Abre el ejercicio relacionado, ejecuta tu consulta y compara el resultado esperado.
