Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Skapa en subquery i WHERE-satsen som hämtar alla unika hometeam_id-värden från tabellen match.
  • Välj team_long_name och team_short_name från tabellen team. 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 ___);
Redigera och kör kod