Extinderea subinterogărilor din FROM
În exercițiul anterior, ai descoperit că Anglia, Țările de Jos, Germania și Spania erau singurele țări din baza de date care aveau meciuri în care s-au marcat cel puțin 10 goluri în total. Acum să aflăm mai multe detalii despre acele meciuri — când au avut loc, în ce sezoane și câte dintre goluri au fost marcate acasă față de cele marcate în deplasare.
Vei observa că în acest exercițiu, aliasul tabelului este omis pentru fiecare coloană selectată în interogarea principală. Acest lucru se datorează faptului că interogarea principală extrage date din subinterogare, care este tratată ca un singur tabel.
Acest exercițiu face parte din cursul
Manipularea datelor în SQL
Instrucțiuni pentru exercițiu
- Completează subinterogarea din clauza
FROM. Selectează coloananamea țării din tabelulcountry, împreună cu coloaneledate,home_goal,away_goalșitotal_goalsdin tabelulmatch. - Creează o coloană în subinterogare care adună golurile marcate acasă și în deplasare, numită
total_goals. Aceasta va fi folosită pentru a filtra interogarea principală. - Selectează
country,date,home_goalșiaway_goalîn interogarea principală. - Filtrează interogarea principală pentru meciurile cu cel puțin 10 goluri în total.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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 ___ ___;