Усі підзапити всюди
У футбольних лігах матчі відбуваються на різних етапах. Команди-переможці переходять від одного етапу до наступного, доки не дістануться фіналу. На кожному етапі ставки зростають порівняно з попереднім. У таблиці match є дані про різні етапи, на яких відбувався кожен матч.
У наступних 3 вправах ви побудуєте один запит із підзапитом у кожному з операторів SELECT, FROM та WHERE. Чи змінюється середня кількість забитих голів, коли ставки зростають від етапу до етапу?
У запиті повторюється один і той самий підзапит, щоб ви могли потренуватися з кожним розміщенням. Кожна копія знову читає таблицю match, тож у власній роботі ви б обчислювали загальне середнє один раз — як показано в розділі 4 за допомогою віконної функції.
Ця вправа є частиною курсу
Маніпулювання даними в 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 ___;