Kom igångKom igång gratis

Filtrering med skalärer subqueries

Subqueries är otroligt kraftfulla för att utföra komplexa filter och transformationer. Du kan filtrera data baserat på enskilda (skalärer) värden med hjälp av en subquery på sätt som inte är möjliga med WHERE-satser eller joins. Subqueries kan även användas för mer avancerad bearbetning av din datamängd. Du kommer troligen att stöta på subqueries i alla verkliga sammanhang där relationsdatabaser används.

I den här övningen ska du ta fram en lista över matcher där det totala antalet mål (för båda lagen sammantaget) är mer än 3 gånger genomsnittet för matcher i tabellen matches_2013_2014, som innehåller alla matcher som spelades säsongen 2013/2014.

Den här övningen är en del av kursen

Datahantering i SQL

Visa kurs

Övningsinstruktioner

  • Beräkna tre gånger det genomsnittliga antalet hemma- och bortamål över alla matcher i en subquery.
  • Filtrera huvudfrågan så att den bara inkluderar matcher där det totala antalet mål (hemma- och bortamål) överstiger värdet från subquery:n.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

SELECT 
    date,
	home_goal,
	away_goal
FROM matches_2013_2014
-- Filter for matches where total goals is greater than 3x the average
WHERE (___ + ___) ___ 
       (SELECT ___ * AVG(___ + ___)
        FROM ___); 
Redigera och kör kod