Premiers pas avec les sous-requêtes corrélées
Les sous-requêtes corrélées sont des sous-requêtes qui référencent une ou plusieurs colonnes de la requête principale. Elles dépendent des informations de la requête principale pour s'exécuter et, par conséquent, ne peuvent pas être exécutées seules.
Dans SQL, les sous-requêtes corrélées sont évaluées une fois par ligne de données récupérée — un processus qui exige beaucoup plus de ressources de calcul et de temps qu'une simple sous-requête.
Dans cet exercice, vous allez vous exercer à utiliser des sous-requêtes corrélées pour repérer les matchs dont les scores sont des valeurs aberrantes extrêmes pour chaque pays — au‑delà de 3 fois la moyenne !
Cette activité fait partie du cours
Manipulation de données en SQL
Instructions de l’exercice
- Commencez la sous-requête dans
WHEREen calculant la moyenne des buts à domicile et à l'extérieur. - Complétez les références de colonnes dans la sous-requête pour que
country_idcorresponde entre les tablesmainetsub.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
SELECT
main.country_id,
main.date,
main.home_goal,
main.away_goal
FROM match AS main
WHERE
-- Filter the main query by the subquery
(home_goal + away_goal) >
(SELECT AVG((___ + sub.away_goal) * 3)
FROM match AS sub
-- Join the main query to the subquery with country_id in WHERE
WHERE main.___ = sub.___);