Подзапросы везде и всюду
В футбольных лигах матчи проводятся на разных стадиях. Победившие команды переходят с одной стадии на следующую, пока не доберутся до финала. С каждой стадией ставки становятся выше. Таблица match содержит данные о стадиях, на которых проходил каждый матч.
В этом уроке вы будете строить итоговый запрос, состоящий из трёх упражнений и включающий три подзапроса: один — в клаузе SELECT, один — в клаузе FROM и один — в клаузе WHERE. В финальном упражнении ваш запрос извлечёт данные о среднем количестве голов, забитых на каждой стадии матча. Меняется ли среднее число голов по мере роста ставок от стадии к стадии?
Это упражнение является частью курса
Манипуляции с данными в SQL
Инструкции к упражнению
- Извлеките среднее суммарное количество голов с помощью подзапроса в клаузе
SELECT. - Вычислите среднее суммарное количество голов для конкретной
stageв основном запросе. - Отфильтруйте данные в обоих подзапросах и основном запросе так, чтобы использовались только данные за сезон 2012/2013.
- Сгруппируйте результат с помощью
GROUPпо столбцуm.stage.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
SELECT
-- Select the stage and average goals for each stage
m.stage,
ROUND(___(___ + m.away_goal),2) AS avg_goals,
-- Select the average overall goals for the 2012/2013 season
ROUND((SELECT ___(___ + away_goal)
FROM match
WHERE season = ___),2) AS overall
FROM match AS m
-- Filter for the 2012/2013 season
WHERE ___ = ___
-- Group by stage
GROUP BY ___;