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

Фильтрация с помощью скалярных подзапросов

Подзапросы — это мощный инструмент для выполнения сложных фильтраций и преобразований данных. С их помощью можно фильтровать данные на основе одиночных (скалярных) значений так, как это невозможно сделать с помощью условий 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 ___); 
Редактировать и запускать код