Menu
Coddy logo textTech

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 students

Każ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.

challenge icon

Wyzwanie

Łatwy

Dostę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', gdy salary >= 150000 (dowolny dział)
  • 'senior', gdy department = 'eng' i salary >= 100000
  • 'mid', gdy salary >= 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
quiz iconSprawdź się

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