Podzapytania w SELECT do obliczeń
Podzapytania w SELECT to świetny sposób na tworzenie kolumn obliczeniowych w zapytaniu. Podzapytanie w SELECT można traktować jak pojedynczą wartość liczbową, którą wykorzystujesz w obliczeniach. Pisząc podzapytania w SELECT, warto pamiętać, że filtrowanie zapytania głównego nie wpływa na filtrowanie podzapytania – i odwrotnie.
W poprzednim ćwiczeniu stworzyłeś kolumnę porównującą średnią łączną liczbę goli w każdej lidze z ogólną średnią goli w sezonie 2013/2014. W tym ćwiczeniu dodasz kolumnę, która bezpośrednio zestawia te wartości – odejmując ogólną średnią wynikającą z podzapytania.
To ćwiczenie jest częścią kursu
Data Manipulation in SQL
Instrukcje do ćwiczenia
- W zapytaniu głównym wybierz średnią liczbę goli strzelonych w meczu dla każdej ligi.
- W podzapytaniu wybierz ogólną średnią liczbę goli strzelonych w meczu w sezonie
'2013/2014'. - Odejmij wynik podzapytania od średniej liczby goli obliczonej dla każdej ligi.
- Przefiltruj zapytanie główne tak, aby uwzględniało tylko mecze z sezonu
'2013/2014'.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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;