Filtrare usando sottoquery scalari
Le sottoquery sono estremamente potenti per applicare filtri e trasformazioni complesse. Puoi filtrare i dati in base a valori singoli (scalari) usando una sottoquery in modi che non sono possibili con le clausole WHERE o con i join. Le sottoquery possono anche essere usate per manipolazioni più avanzate del tuo insieme di dati. È molto probabile che tu incontri le sottoquery in qualunque contesto reale che utilizzi database relazionali.
In questo esercizio, genererai un elenco di partite in cui i gol totali segnati (da entrambe le squadre) sono più di 3 volte la media delle partite nella tabella matches_2013_2014, che include tutte le gare disputate nella stagione 2013/2014.
Questo esercizio fa parte del corso
Manipolazione dei dati in SQL
Istruzioni dell'esercizio
- Calcola il triplo della media dei gol casa + gol trasferta segnati in tutte le partite in una sottoquery.
- Filtra la query principale per le partite in cui i gol totali (gol casa + gol trasferta) superano il valore della sottoquery.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
SELECT
date,
home_goal,
away_goal
FROM matches_2013_2014
-- Filter for matches where total goals is greater than 3x the average
WHERE (___ + ___) ___
(SELECT ___ * AVG(___ + ___)
FROM ___);