Фильтрация с помощью скалярных подзапросов
Подзапросы — это мощный инструмент для выполнения сложных фильтраций и преобразований данных. С их помощью можно фильтровать данные на основе одиночных (скалярных) значений так, как это невозможно сделать с помощью условий WHERE или объединений. Подзапросы также применяются для более сложных операций с наборами данных. Скорее всего, вы встретите их в любой реальной системе, использующей реляционные базы данных.
В этом упражнении вам нужно сформировать список матчей, в которых суммарное количество голов (забитых обеими командами) превышает утроенное среднее значение по таблице matches_2013_2014, содержащей все игры сезона 2013/2014.
Это упражнение является частью курса
Манипуляции с данными в SQL
Инструкции к упражнению
- Вычислите утроенное среднее значение голов хозяев и гостей по всем матчам с помощью подзапроса.
- Отфильтруйте основной запрос так, чтобы в результат вошли только матчи, в которых суммарное количество голов (хозяев и гостей) превышает значение, полученное в подзапросе.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
SELECT
date,
home_goal,
away_goal
FROM matches_2013_2014
-- Filter for matches where total goals is greater than 3x the average
WHERE (___ + ___) ___
(SELECT ___ * AVG(___ + ___)
FROM ___);