Poddotazy v FROM – jdeme dál
V předchozím cvičení jsi zjistil/a, že Anglie, Nizozemsko, Německo a Španělsko jsou jediné země, ve kterých se v databázi odehrály zápasy s 10 nebo více vstřelenými góly celkem. Teď se podíváme na podrobnosti těchto zápasů – kdy se hrály, v jakých sezonách a kolik gólů padlo doma a kolik venku.
Všimni si, že v tomto cvičení není u žádného vybraného sloupce v hlavním dotazu uveden alias tabulky. Je to proto, že hlavní dotaz čerpá data z poddotazu, který se chová jako jediná tabulka.
Toto cvičení je součástí kurzu
Manipulace s daty v SQL
Pokyny k cvičení
- Dokonči poddotaz uvnitř klauzule
FROM. Vyber sloupecnameze tabulkycountrya sloupcedate,home_goal,away_goalatotal_goalsz tabulkymatch. - Vytvoř v poddotazu sloupec, který sečte domácí a venkovní góly – pojmenuj ho
total_goals. Tento sloupec se použije k filtrování hlavního dotazu. - V hlavním dotazu vyber sloupce
country,date,home_goalaaway_goal. - Filtruj hlavní dotaz tak, aby zahrnoval pouze zápasy s 10 nebo více góly celkem.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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 ___ ___;