IniziaInizia gratis

Costruire sulle sottoquery in FROM

Nell'esercizio precedente hai scoperto che Inghilterra, Paesi Bassi, Germania e Spagna erano gli unici paesi ad aver partite nel database in cui sono stati segnati 10 o più gol in totale. Ora troviamo qualche dettaglio in più su quelle partite: quando sono state giocate, in quali stagioni e quanti gol sono stati segnati in casa rispetto a quelli in trasferta.

Noterai che in questo esercizio l'alias di tabella è omesso per ogni colonna selezionata nella query principale. Questo perché la query principale estrae dati dalla sottoquery, che viene trattata come una singola tabella.

Questo esercizio fa parte del corso

Manipolazione dei dati in SQL

Visualizza il corso

Istruzioni dell'esercizio

  • Completa la sottoquery all'interno della clausola FROM. Seleziona il name del paese dalla tabella country, insieme alle colonne date, home_goal, away_goal e total_goals dalla tabella match.
  • Crea una colonna nella sottoquery che somma i gol in casa e in trasferta, chiamata total_goals. Verrà usata per filtrare la query principale.
  • Seleziona country, date, home_goal e away_goal nella query principale.
  • Filtra la query principale per le partite con 10 o più gol totali.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

SELECT
	-- Select country, date, home, and away goals from the subquery
    ___,
    date,
    ___,
    away_goal
FROM 
	-- Select country name, date, home_goal, away_goal, and total goals in the subquery
	(SELECT ___ AS country, 
     	    m.date, 
     		___, 
     		m.away_goal,
           (___ + m.away_goal) AS total_goals
    FROM match AS m
    LEFT JOIN country AS c
    ON m.country_id = c.id) AS subq
-- Filter by total goals scored in the main query
WHERE total_goals ___ ___;
Modifica ed esegui il codice