Inizia subitoInizia gratis

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

Visualizza corso

Istruzioni dell'esercizio

  • Estrai il numero medio di goal totali in una sottoquery nella SELECT.
  • Calcola i goal totali medi per la specifica stage nella query principale.
  • Filtra sia le due sottoquery sia la query principale in modo che includano solo i dati della stagione 2012/2013.
  • GROUP della query per la colonna m.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 ___;
Modifica ed esegui il codice