Filtrering med en subquery som returnerar en lista
Målet med den här övningen är att ta fram en lista över lag som aldrig spelat en match i sin hemstad. Med hjälp av en subquery skapar du en lista med unika hometeam_ID-värden från den ofiltrerade tabellen match – dessa värden ska exkluderas från kolumnen team_api_ID i tabellen team.
Utöver filtrering med en subquery som returnerar ett enstaka värde (skalär) kan du skapa en lista med värden i en subquery och använda den för att filtrera data baserat på ett mer komplext villkor. Den här typen av subquery genererar en enkolumns referenslista för huvudfrågan. Så länge värdena i listan matchar en kolumn i huvudfrågans tabell behöver du inte använda en join – även om listan kommer från en annan tabell.
Den här övningen är en del av kursen
Datahantering i SQL
Övningsinstruktioner
- Skapa en subquery i
WHERE-satsen som hämtar alla unikahometeam_id-värden från tabellenmatch. - Välj
team_long_nameochteam_short_namefrån tabellenteam. Exkludera alla värden från subqueryn i huvudfrågan.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
SELECT
-- Select the team long and short names
___,
___
FROM ___
-- Exclude all values from the subquery
WHERE team_api_id ___ ___
(___ DISTINCT ___ FROM ___);