Poddotazy v SELECT pro výpočty
Poddotazy v SELECT jsou praktický způsob, jak v dotazu vytvářet výpočtové sloupce. Poddotaz v SELECT lze chápat jako jednu číselnou hodnotu, se kterou pak dále počítáš. Při psaní poddotazů v SELECT je důležité mít na paměti, že filtrování hlavního dotazu neovlivňuje poddotaz – a naopak.
V předchozím cvičení jsi vytvořil/a sloupec, který porovnával průměrný počet gólů každé ligy s celkovým průměrem gólů v sezóně 2013/2014. V tomto cvičení přidáš sloupec, který tyto hodnoty přímo porovná – odečtením celkového průměru (z poddotazu) od průměru každé ligy.
Toto cvičení je součástí kurzu
Manipulace s daty v SQL
Pokyny k cvičení
- V hlavním dotazu vyber průměrný počet gólů vstřelených v zápase pro každou ligu.
- V poddotazu vyber celkový průměrný počet gólů vstřelených v zápase za sezónu
'2013/2014'. - Od průměrného počtu gólů vypočítaného pro každou ligu odečti hodnotu poddotazu.
- Filtruj hlavní dotaz tak, aby zahrnoval pouze zápasy ze sezóny
'2013/2014'.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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;