Подзапросы в SELECT для вычислений
Подзапросы в SELECT — удобный способ создавать вычисляемые столбцы в запросе. Подзапрос в SELECT можно рассматривать как единственное числовое значение, которое используется в вычислениях. При написании подзапросов в SELECT важно помнить: фильтрация основного запроса не влияет на подзапрос — и наоборот.
В предыдущем упражнении вы создали столбец для сравнения среднего количества голов по каждой лиге с общим средним показателем за сезон 2013/2014. В этом упражнении вы добавите столбец, который напрямую сравнивает эти значения, вычитая общее среднее, полученное из подзапроса.
Это упражнение является частью курса
Манипуляции с данными в SQL
Инструкции к упражнению
- Выберите среднее количество голов за матч по каждой лиге в основном запросе.
- Выберите среднее количество голов за матч в целом за сезон
'2013/2014'в подзапросе. - Вычтите значение подзапроса из среднего количества голов, вычисленного для каждой лиги.
- Отфильтруйте основной запрос так, чтобы включить только матчи сезона
'2013/2014'.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
SELECT
-- Select the league name and average goals scored
___ AS league,
ROUND(___(___ + m.away_goal),2) AS avg_goals,
-- Subtract the overall average from the league average
ROUND(AVG(___ + m.away_goal) ___
(SELECT ___(___ + away_goal)
FROM match
WHERE ___ = ___),2) AS diff
FROM league AS l
LEFT JOIN match AS m
ON l.country_id = m.country_id
-- Only include 2013/2014 results
WHERE ___ = ___
GROUP BY l.name;