1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Manipulace s daty v SQL

Connected

Cvičení

Filtrování pomocí příkazu CASE

Pojďme sestavit seznam zápasů, které vyhrál italský tým Bologna! V obou tabulkách je celá řada dalších týmů, takže klíčovou součástí dotazu bude využití příkazu CASE jako filtru v klauzuli WHERE.

Příkazy CASE ti umožňují kategorizovat data, která tě zajímají – a vyloučit ta, která nepotřebuješ. Za tímto účelem lze příkaz CASE použít jako filtr v klauzuli WHERE a odfiltrovat výsledky, které nechceš zobrazovat.

Takhle by to mohlo vypadat:

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

Příkaz CASE lze v podstatě použít jako filtrující sloupec stejně jako jakýkoli jiný sloupec v databázi. Jediný rozdíl je v tom, že v klauzuli WHERE mu nepřiřazuješ alias.

Pokyny

100 XP
  • Použij příkaz CASE v klauzuli WHERE k filtrování záznamů, kde je hometeam_id rovno 9857 a počet domácích gólů převyšuje počet venkovních.
  • Použij příkaz CASE v klauzuli WHERE k filtrování záznamů, kde je awayteam_id rovno 9857 a počet venkovních gólů převyšuje počet domácích.
  • Ukonči příkaz CASE tak, aby byly vyloučeny zápasy, které Bologna nevyhrála.