Menu
Coddy logo textTech

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 students

Ogni 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.

challenge icon

Sfida

Facile

Tabelle e colonne disponibili:

  • employees: id, name, department, salary

Per ogni dipendente, restituisci le colonne name, department e tier, costruita in questo modo:

  • 'partner' quando salary >= 150000 (qualsiasi reparto)
  • 'senior' quando department = 'eng' e salary >= 100000
  • 'mid' quando salary >= 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
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