Развиваем подзапросы во FROM
В предыдущем упражнении вы выяснили, что только Англия, Нидерланды, Германия и Испания имеют в базе данных матчи, в которых было забито 10 или более голов. Теперь давайте узнаем подробнее об этих матчах: когда они проводились, в каком сезоне и сколько голов было забито дома и в гостях.
Обратите внимание: в этом упражнении псевдонимы таблицы не указываются ни для одного из столбцов в основном запросе. Это связано с тем, что основной запрос извлекает данные из подзапроса, который рассматривается как единая таблица.
Это упражнение является частью курса
Манипуляции с данными в SQL
Инструкции к упражнению
- Заполните подзапрос внутри предложения
FROM. Выберите столбецnameиз таблицыcountry, а также столбцыdate,home_goal,away_goalиtotal_goalsиз таблицыmatch. - Создайте в подзапросе столбец, который суммирует домашние и гостевые голы, и назовите его
total_goals. Он будет использоваться для фильтрации в основном запросе. - Выберите столбцы
country,date,home_goalиaway_goalв основном запросе. - Отфильтруйте результаты основного запроса, оставив только матчи, в которых было забито 10 или более голов.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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 ___ ___;