Le match est terminé (OVER)
La clause OVER() permet d'appliquer une fonction d'agrégation à l'ensemble d'un jeu de données, de manière similaire aux sous-requêtes dans SELECT. La clause OVER() offre des avantages significatifs par rapport aux sous-requêtes dans SELECT, à savoir que vos requêtes s'exécuteront plus rapidement et que la clause OVER() dispose d'un large éventail de fonctions et de clauses supplémentaires que vous pouvez inclure et que nous aborderons plus loin dans ce chapitre.
Dans cet exercice, vous allez réviser quelques requêtes des chapitres précédents en utilisant la clause OVER().
Cet exercice fait partie du cours
Manipulation de données en SQL
Instructions
- Sélectionner les entrées
IDdu match, nom (name) du pays,season,home_goaletaway_goaldans les tablesmatchetcountry. - Finalisez la requête qui calcule la moyenne globale de buts marqués, puis inclut ensuite cette valeur agrégée dans chaque ligne à l’aide d’une fonction de fenêtre.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
SELECT
-- Select the match id, country name, season, home, and away goals
___,
c.___ AS country,
m.season,
___.home_goal,
___,
-- Use a window to include the aggregate average in each row
___(___.home_goal + ___) ___ AS overall_avg
FROM match AS m
LEFT JOIN country AS c ON m.country_id = c.id;