TUTTE le sottoquery OVUNQUE
Nei campionati di calcio, le partite si giocano in diverse fasi (stages). Le squadre vincenti avanzano da una fase alla successiva fino a raggiungere la finale. In ogni fase, la posta in gioco aumenta rispetto alla precedente. La tabella match include i dati sulle diverse fasi in cui si è svolta ogni partita.
Nei prossimi 3 esercizi costruirai un'unica query con una sottoquery rispettivamente nelle clausole SELECT, FROM e WHERE. Il numero medio di goal segnati cambia man mano che la posta in gioco cresce da una fase all'altra?
La query ripete una stessa sottoquery così puoi esercitarti su ciascun posizionamento. Ogni copia legge di nuovo la tabella match, quindi nel tuo lavoro calcoleresti la media complessiva una sola volta, come mostrato nel Capitolo 4 con una funzione finestra.
Questo esercizio fa parte del corso
Manipolazione dei dati in SQL
Istruzioni dell'esercizio
- Estrai il numero medio di goal totali in una sottoquery nella
SELECT. - Calcola i goal totali medi per la specifica
stagenella query principale. - Filtra sia le due sottoquery sia la query principale in modo che includano solo i dati della stagione 2012/2013.
GROUPdella query per la colonnam.stage.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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 ___;