Underfrågor i SELECT för beräkningar
Underfrågor i SELECT är ett praktiskt sätt att skapa beräknade kolumner i en fråga. En underfråga i SELECT behandlas som ett enskilt numeriskt värde som du kan använda i dina beräkningar. Tänk på att ett filter i huvudfrågan inte påverkar underfrågan – och vice versa.
I föregående övning skapade du en kolumn för att jämföra varje ligans genomsnittliga totala mål med det övergripande genomsnittet under säsongen 2013/2014. I den här övningen lägger du till en kolumn som direkt jämför dessa värden genom att subtrahera det övergripande genomsnittet från underfrågan.
Den här övningen är en del av kursen
Datahantering i SQL
Övningsinstruktioner
- Välj det genomsnittliga antalet mål per match för varje liga i huvudfrågan.
- Välj det genomsnittliga antalet mål per match totalt för säsongen
'2013/2014'i underfrågan. - Subtrahera underfrågan från det genomsnittliga antalet mål beräknat för varje liga.
- Filtrera huvudfrågan så att bara matcher från säsongen
'2013/2014'inkluderas.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
SELECT
-- Select the league name and average goals scored
___ AS league,
ROUND(___(___ + m.away_goal),2) AS avg_goals,
-- Subtract the overall average from the league average
ROUND(AVG(___ + m.away_goal) ___
(SELECT ___(___ + away_goal)
FROM match
WHERE ___ = ___),2) AS diff
FROM league AS l
LEFT JOIN match AS m
ON l.country_id = m.country_id
-- Only include 2013/2014 results
WHERE ___ = ___
GROUP BY l.name;