Filtrování pomocí skalárních poddotazů
Poddotazy jsou nesmírně užitečné pro složité filtrování a transformace dat. Umožňují filtrovat data na základě jednoduchých (skalárních) hodnot způsoby, které pomocí WHERE nebo joinů nejdou. Poddotazy se hodí i pro pokročilejší manipulaci s daty a v praxi se s nimi setkáš v téměř každém prostředí, které pracuje s relačními databázemi.
V tomto cvičení sestavíš seznam zápasů, ve kterých celkový počet vstřelených gólů (obou týmů dohromady) přesahuje trojnásobek průměru z tabulky matches_2013_2014, která obsahuje všechny zápasy sezóny 2013/2014.
Toto cvičení je součástí kurzu
Manipulace s daty v SQL
Pokyny k cvičení
- V poddotazu vypočítej trojnásobek průměrného počtu gólů domácích + hostů vstřelených ve všech zápasech.
- V hlavním dotazu vyfiltruj zápasy, ve kterých celkový počet gólů (domácí + hosté) překračuje hodnotu vrácenou poddotazem.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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 ___);