CASE WHEN
Część sekcji Poza podstawami ścieżki SQL w Coddy. Lekcja 1 z 27.
Wyrażenie CASE to odpowiednik if/else if/else w SQL. Występuje wewnątrz SELECT (lub ORDER BY, albo WHERE) i zwraca wartość dla każdego wiersza.
SELECT name,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 75 THEN 'B'
WHEN score >= 60 THEN 'C'
ELSE 'F'
END AS grade
FROM studentsKażdy WHEN jest sprawdzany od góry do dołu; wygrywa pierwsze dopasowanie. ELSE jest opcjonalne. Bez niego niedopasowane wiersze otrzymują NULL.
Zawsze kończ instrukcję słowem END i nadaj kolumnie nazwę za pomocą AS.
Wyzwanie
ŁatwyDostępne tabele i kolumny:
employees:id,name,department,salary
Dla każdego pracownika zwróć jego name, department oraz kolumnę tier utworzoną w następujący sposób:
'partner', gdysalary >= 150000(dowolny dział)'senior', gdydepartment = 'eng'isalary >= 100000'mid', gdysalary >= 60000'entry'w pozostałych przypadkach
Posortuj malejąco według salary. Zwróć uwagę, że kolejność gałęzi WHEN ma znaczenie: wygrywa pierwsze dopasowanie.
Spróbuj swoich sił
SELECT name, department,
-- poziom z wieloma gałęziami WHEN łączącymi wynagrodzenie i dział
FROM employees
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Poza podstawami
Poćwicz samodzielnie: Edytor online SQL