Фільтрація за допомогою скалярних підзапитів
Підзапити надзвичайно потужні для виконання складних фільтрів і перетворень. Ви можете фільтрувати дані за одиничними (скалярними) значеннями за допомогою підзапиту так, як це неможливо зробити лише з операторами WHERE або об'єднаннями. Підзапити також корисні для більш просунутої обробки вашого набору даних. Із підзапитами ви, ймовірно, зіткнетеся в будь-якому реальному середовищі, де використовують реляційні бази даних.
У цій вправі ви сформуєте список матчів, у яких загальна кількість голів (обох команд разом) перевищує удвічі середній показник для ігор у таблиці matches_2013_2014, що містить усі матчі сезону 2013/2014.
Ця вправа є частиною курсу
Маніпулювання даними в SQL
Інструкції до вправи
- Обчисліть у підзапиті потрійне середнє значення home + away goals за всіма матчами.
- Відфільтруйте основний запит на матчі, де загальна кількість голів (home + away goals) перевищує значення з підзапиту.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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 ___);