Filtrowanie za pomocą skalarnych podzapytań
Podzapytania są niezwykle przydatne do wykonywania złożonych filtrów i przekształceń. Pozwalają filtrować dane na podstawie pojedynczych (skalarnych) wartości w sposób niemożliwy przy użyciu samych instrukcji WHERE czy złączeń. Podzapytania sprawdzają się też przy bardziej zaawansowanym przetwarzaniu zbiorów danych – spotkasz je niemal w każdym środowisku produkcyjnym korzystającym z relacyjnych baz danych.
W tym ćwiczeniu wygenerujesz listę meczów, w których łączna liczba goli (obu drużyn razem) przekracza 3-krotność średniej dla tabeli matches_2013_2014, zawierającej wszystkie mecze rozegrane w sezonie 2013/2014.
To ćwiczenie jest częścią kursu
Data Manipulation in SQL
Instrukcje do ćwiczenia
- W podzapytaniu oblicz trzykrotność średniej liczby goli gospodarzy i gości zdobytych we wszystkich meczach.
- Przefiltruj główne zapytanie tak, aby zwracało tylko mecze, w których łączna liczba goli (gospodarzy i gości) przekracza wartość z podzapytania.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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 ___);