НачатьНачать бесплатно

ВСЕ подзапросы ПОВСЮДУ

В футбольных лигах матчи проходят на разных стадиях. Команды-победители переходят от одной стадии к следующей, пока не доберутся до финальной. На каждой стадии ставки выше, чем на предыдущей. Таблица match содержит данные о том, на какой стадии проходил каждый матч.

В следующих 3 упражнениях вы построите один запрос с подзапросом в каждом из разделов SELECT, FROM и WHERE. Меняется ли среднее количество забитых голов по мере роста ставок от одной стадии к другой?

Запрос повторяет один и тот же подзапрос, чтобы вы могли потренироваться с каждым вариантом размещения. Каждая копия заново обращается к таблице match, поэтому в реальной работе вы бы вычислили общее среднее значение один раз, как показано в главе 4 с помощью оконной функции.

Это упражнение является частью курса

Манипуляции с данными в SQL

Посмотреть курс

Инструкции к упражнению

  • Извлеките среднее количество общих голов с помощью подзапроса в SELECT.
  • Вычислите среднее количество общих голов для конкретной stage в основном запросе.
  • Отфильтруйте и подзапросы, и основной запрос так, чтобы учитывались только данные сезона 2012/2013.
  • Сгруппируйте запрос по столбцу m.stage с помощью GROUP.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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 ___;
Редактировать и запускать код