VŠECHNY poddotazy VŠUDE
Ve fotbalových ligách se zápasy hrají v různých fázích. Vítězné týmy postupují z jedné fáze do další, dokud nedosáhnou finálové fáze. S každou další fází stoupá i to, co je v sázce. Tabulka match obsahuje údaje o tom, ve které fázi se každý zápas odehrál.
V následujících 3 cvičeních sestavíš jeden dotaz s poddotazem v klauzulích SELECT, FROM i WHERE. Mění se průměrný počet vstřelených gólů s tím, jak s postupem do další fáze stoupá i to, co je v sázce?
Dotaz obsahuje opakovaně stejný poddotaz, díky čemuž si vyzkoušíš každé jeho umístění. Každá kopie znovu čte tabulku match, ale ve vlastní praxi by se celkový průměr počítal jen jednou – přesně jak to ukazuje kapitola 4 pomocí okenní funkce.
Toto cvičení je součástí kurzu
Manipulace s daty v SQL
Pokyny k cvičení
- V poddotazu v klauzuli
SELECTzískej průměrný celkový počet gólů. - V hlavním dotazu spočítej průměrný celkový počet gólů pro konkrétní
stage. - Vyfiltruj oba poddotazy i hlavní dotaz tak, aby obsahovaly pouze data ze sezóny 2012/2013.
- Seskup dotaz pomocí
GROUPpodle sloupcem.stage.
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 stage and average goals for each stage
m.stage,
ROUND(___(___ + m.away_goal),2) AS avg_goals,
-- Select the average overall goals for the 2012/2013 season
ROUND((SELECT ___(___ + away_goal)
FROM match
WHERE season = ___),2) AS overall
FROM match AS m
-- Filter for the 2012/2013 season
WHERE ___ = ___
-- Group by stage
GROUP BY ___;