IniziaInizia gratis

Sottoquery in SELECT per i calcoli

Le sottoquery in SELECT sono un modo pratico per creare colonne calcolate in una query. Una sottoquery in SELECT può essere trattata come un singolo valore numerico da usare nei tuoi calcoli. Quando scrivi sottoquery in SELECT, è importante ricordare che filtrare la query principale non filtra la sottoquery — e viceversa.

Nell'esercizio precedente, hai creato una colonna per confrontare la media dei gol totali di ciascuna lega con la media complessiva dei gol nella stagione 2013/2014. In questo esercizio, aggiungerai una colonna che confronta direttamente questi valori sottraendo la media complessiva dalla sottoquery.

Questo esercizio fa parte del corso

Manipolazione dei dati in SQL

Visualizza il corso

Istruzioni dell'esercizio

  • Seleziona la media dei gol segnati in una partita per ciascuna lega nella query principale.
  • Seleziona la media dei gol segnati in una partita complessivamente per la stagione '2013/2014' nella sottoquery.
  • Sottrai la sottoquery dal numero medio di gol calcolato per ciascuna lega.
  • Filtra la query principale in modo da includere solo le partite della stagione '2013/2014'.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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;
Modifica ed esegui il codice