CASE WHEN
Fa parte della sezione Oltre le basi del percorso SQL di Coddy. Lezione 1 di 27.
Un'espressione CASE è un if/else if/else per SQL. Si trova all'interno di SELECT (o ORDER BY, o WHERE) e produce un valore per ogni riga.
SELECT name,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 75 THEN 'B'
WHEN score >= 60 THEN 'C'
ELSE 'F'
END AS grade
FROM studentsOgni WHEN viene verificato dall’alto verso il basso; vince la prima corrispondenza. ELSE è facoltativo. Senza di esso, le righe senza corrispondenza ottengono NULL.
Termina sempre con END e assegna un nome alla colonna con AS.
Sfida
FacileTabelle e colonne disponibili:
employees:id,name,department,salary
Per ogni dipendente, restituisci le colonne name, department e tier, costruita in questo modo:
'partner'quandosalary >= 150000(qualsiasi reparto)'senior'quandodepartment = 'eng'esalary >= 100000'mid'quandosalary >= 60000'entry'altrimenti
Ordina per salary in ordine decrescente. Nota che l'ordine dei rami WHEN è importante: vince la prima corrispondenza.
Provalo tu
SELECT name, department,
-- livello con più rami WHEN che combinano salary e department
FROM employees
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