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
Ö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 ___);