Добавление подзапроса в SELECT
Подзапросы в операторах SELECT возвращают единственное значение, которое можно передать как агрегированный показатель в набор данных. Это удобно для выполнения вычислений непосредственно на данных из вашей базы данных.
В следующем упражнении вы составите запрос, который рассчитывает среднее количество голов за матч в лиге каждой страны.
Это упражнение является частью курса
Манипуляции с данными в SQL
Инструкции к упражнению
- В подзапросе выберите среднее общее количество голов, сложив
home_goalиaway_goal, затем - отфильтруйте результаты так, чтобы среднее значение рассчитывалось только для сезона
'2013/2014'. - В основном запросе выберите среднее общее количество голов, сложив
home_goalиaway_goal. Это позволит рассчитать среднее число голов для каждой лиги, затем - отфильтруйте результаты основного запроса так же, как и подзапрос. Сгруппируйте запрос с помощью
GROUP BYпо названию лигиname.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
SELECT
l.name AS league,
-- Round the average of the league's total goals
ROUND(___(___ + m.away_goal), 2) AS avg_goals,
-- Select and round the average total goals for the season
(SELECT ___(___(___ + away_goal), 2)
FROM match
___ ___ = ___) AS overall_avg
FROM league AS l
LEFT JOIN match AS m
ON l.country_id = m.country_id
-- Filter for the 2013/2014 season
WHERE ___ = ___
GROUP BY ___;