1. Nauka
  2. /
  3. Kursy
  4. /
  5. Data Manipulation in SQL

Connected

ćwiczenie

Filtrowanie instrukcji CASE

Wygenerujmy listę meczów wygranych przez włoski klub Bologna! W obu tabelach jest całkiem sporo drużyn, dlatego kluczowym elementem zapytania będzie użycie instrukcji CASE jako filtru w klauzuli WHERE.

Instrukcje CASE pozwalają kategoryzować interesujące cię dane – i wykluczać te, które cię nie interesują. Możesz w tym celu użyć instrukcji CASE jako filtru w klauzuli WHERE, żeby usunąć z wyników wiersze, których nie chcesz widzieć.

Oto jak może wyglądać takie podejście:

SELECT *
FROM table
WHERE 
    CASE WHEN a > 5 THEN 'Keep'
         WHEN a <= 5 THEN 'Exclude' END = 'Keep';

Instrukcji CASE możesz używać jako kolumny filtrującej – tak jak każdej innej kolumny w bazie danych. Jedyna różnica polega na tym, że w klauzuli WHERE nie nadajesz jej aliasu.

Instrukcje

100 XP
  • Użyj instrukcji CASE w klauzuli WHERE, żeby przefiltrować wiersze, w których hometeam_id wynosi 9857, a liczba goli strzelonych przez gospodarzy jest większa niż liczba goli gości.
  • Użyj instrukcji CASE w klauzuli WHERE, żeby przefiltrować wiersze, w których awayteam_id wynosi 9857, a liczba goli gości jest większa niż liczba goli gospodarzy.
  • Zakończ instrukcję CASE, wykluczając mecze, których Bologna nie wygrała.