COALESCE per i NULL
Fa parte della sezione Oltre le basi del percorso SQL di Coddy. Lezione 3 di 27.
COALESCE restituisce il primo argomento che non è NULL:
COALESCE(nickname, first_name, 'Anonymous')Legge da sinistra a destra e si ferma al primo valore non nullo. È il modo più semplice per fornire un valore di fallback in una query, senza bisogno di CASE.
Usi comuni:
- Mostrare
0invece diNULLda unLEFT JOIN:COALESCE(SUM(amount), 0) - Scegliere il primo campo facoltativo non vuoto:
COALESCE(mobile, home, work)
Sfida
FacileTabelle e colonne disponibili:
users:id,display_name,orders:user_id,amount
Restituisci una riga per utente con:
idlabel:display_namese impostato, altrimentiemail, altrimenti'unknown'total_spent: la somma degliamountdegli ordini dell'utente; per gli utenti senza ordini deve essere mostrato0(nonNULL)
Ordina per id. Suggerimento: un LEFT JOIN da users a orders insieme a COALESCE(SUM(...), 0) gestisce le righe mancanti.
Provalo tu
SELECT u.id,
-- label tramite COALESCE
-- total_spent tramite COALESCE(SUM(...), 0)
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
GROUP BY u.id
ORDER BY u.id
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Oltre le basi
2Funzioni sulle stringhe
LENGTH, UPPER, LOWERSUBSTRINSTRREPLACE e TRIMConcatenare con ||Ripasso - Fatture3Aggregazione condizionale
COUNT con CASESUM con CASETrasformare le righe in colonneRiepilogo - Fonti di trafficoEsercitati da solo: Playground SQL