Funkcja CASE WHEN w SQL
Funkcja CASE WHEN w SQL służy do wykonywania warunkowych operacji w zapytaniach bazodanowych. Dzięki funkcji CASE WHEN można tworzyć elastyczne i złożone wyrażenia logiczne, które pozwalają na zwrócenie różnych wartości w zależności od spełnienia określonych warunków.
Składnia funkcji CASE WHEN
Funkcja CASE WHEN ma następującą składnię:
CASE
WHEN warunek1 THEN wartość1
WHEN warunek2 THEN wartość2
...
ELSE wartość_domyslna
END
🧑💻 Gdzie:
- warunek1, warunek2, … to wyrażenia logiczne, które są sprawdzane w kolejności.
- wartość1, wartość2, … to wartości zwracane, gdy odpowiadający warunek jest spełniony.
- wartość_domyslna to wartość zwracana, gdy żaden z warunków nie jest spełniony. Parametr ELSE jest opcjonalny.
📌 Przykład:
Załóżmy, że mamy tabelę pracownicy, która zawiera kolumny id_pracownika, nazwisko, wiek oraz stanowisko. Chcemy przyporządkować pracownikom oceny na podstawie ich wieku w następujący sposób: jeśli wiek pracownika jest poniżej 30 lat, otrzymuje ocenę „Młody”; jeśli wiek mieści się między 30 a 50 lat, otrzymuje ocenę „Doświadczony”; w przeciwnym razie, pracownik otrzymuje ocenę „Senior”.
Zapytanie SQL, które realizuje takie przypisanie, może wyglądać następująco:
SELECT
id_pracownika,
nazwisko,
wiek,
CASE
WHEN wiek < 30 THEN 'Młody'
WHEN wiek BETWEEN 30 AND 50 THEN 'Doświadczony'
ELSE 'Senior'
END AS ocena_wiekowa
FROM
pracownicy;
📌 Gdzie:
- id_pracownika to identyfikator pracownika.
- nazwisko to nazwisko pracownika.
- wiek to wiek pracownika, który jest oceniany.
- ocena_wiekowa to nowa kolumna, w której będą przechowywane oceny wieku pracowników na podstawie warunków zdefiniowanych w funkcji CASE WHEN.
Powyższe zapytanie zwróci listę pracowników z przypisaną oceną wiekową na podstawie ich wieku.
Poznasz zarówno podstawy, jak i zaawansowane zapytania analityczne (CTE, subqueries, window functions). Nauczysz się pracować na różnych silnikach – na kursie pracujemy zarówno na MySQL, jak i na Postgres. Wszystko zainstalujemy na Twoim komputerze, plus dostaniesz mnóstwo zestawów danych do ćwiczeń.
Chcesz sprawdzić czy nadajesz się na analityka? Dołącz do społeczności KajoDataSpace i poznaj innych, takich jak Ty.