LEFT JOIN en SQL
Un left join conserva cada fila izquierda y rellena con NULL cuando nada coincide.
SELECT
c.id,
c.name,
COALESCE(SUM(o.total), 0) AS spent
FROM customers AS c
LEFT JOIN orders AS o
ON o.customer_id = c.id
AND o.status = 'paid'
GROUP BY c.id, c.name
ORDER BY spent DESC;
Cómo funciona
- Úsalo para encontrar filas que no tienen pareja alguna.
IS NULLsobre una columna del lado derecho aísla las filas sin coincidencia.COALESCEconvierte un número ausente en cero.
Palabras clave y builtins usados aquí
ANDASBYCOALESCEDESCFROMGROUPJOINLEFTONORDERSELECTSUMc
El intento, en números
- Líneas
- 10
- Caracteres a escribir
- 186
- Tokens
- 59
- Ritmo de tres estrellas
- 85 tpm
Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 42 segundos.
Paso 2 de 9 en Joins; paso 10 de 22 en Joins y agregación.