Filtrování pomocí poddotazu se seznamem hodnot
Cílem tohoto cvičení je sestavit seznam týmů, které nikdy nehrály zápas ve svém domovském městě. Pomocí poddotazu vytvoříš seznam unikátních hodnot hometeam_ID z nefiltrované tabulky match – ty pak vyloučíš ze sloupce team_api_ID v tabulce team.
Kromě filtrování pomocí skalárního poddotazu (vracejícího jednu hodnotu) můžeš vytvořit i seznam hodnot, podle kterého data filtruješ na základě složitější sady podmínek. Tento typ poddotazu generuje referenční seznam o jednom sloupci pro hlavní dotaz. Pokud hodnoty v tomto seznamu odpovídají sloupci v tabulce hlavního dotazu, join není potřeba – a to ani tehdy, kdy seznam pochází z jiné tabulky.
Toto cvičení je součástí kurzu
Manipulace s daty v SQL
Pokyny k cvičení
- V klauzuli
WHEREvytvoř poddotaz, který načte všechny unikátní hodnotyhometeam_idz tabulkymatch. - Z tabulky
teamvyber sloupceteam_long_nameateam_short_name. Všechny hodnoty vrácené poddotazem z hlavního dotazu vyluč.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
SELECT
-- Select the team long and short names
___,
___
FROM ___
-- Exclude all values from the subquery
WHERE team_api_id ___ ___
(___ DISTINCT ___ FROM ___);