Menu
Coddy logo textTech

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 0 invece di NULL da un LEFT JOIN: COALESCE(SUM(amount), 0)
  • Scegliere il primo campo facoltativo non vuoto: COALESCE(mobile, home, work)
challenge icon

Sfida

Facile

Tabelle e colonne disponibili:

  • users: id, display_name, email
  • orders: user_id, amount

Restituisci una riga per utente con:

  • id
  • label: display_name se impostato, altrimenti email, altrimenti 'unknown'
  • total_spent: la somma degli amount degli ordini dell'utente; per gli utenti senza ordini deve essere mostrato 0 (non NULL)

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
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Oltre le basi

Esercitati da solo: Playground SQL