DES sous-requêtes PARTOUT
Dans les championnats de football, les matchs se déroulent à différents stages. Les équipes gagnantes passent d'un stage au suivant, jusqu'à atteindre la finale. À chaque stage, l'enjeu devient plus important que lors du précédent. La table match contient des données sur les différents stages dans lesquels chaque match a eu lieu.
Au fil des 3 prochains exercices, vous allez construire une seule requête avec une sous-requête dans chacune des clauses SELECT, FROM et WHERE. Le nombre moyen de buts marqués évolue-t-il à mesure que les enjeux augmentent d'un stage à l'autre ?
La requête répète une sous-requête afin que vous puissiez vous entraîner à chaque emplacement. Chaque copie relit la table match, donc, dans votre propre travail, vous calculeriez la moyenne globale une seule fois, comme le montre le chapitre 4 avec une fonction de fenêtre.
Cet exercice fait partie du cours
<cours>Manipulation de données en SQL</cours>Instructions de l’exercice
- Extrayez le nombre moyen de buts totaux dans une sous-requête
SELECT. - Calculez le nombre moyen de buts totaux pour le
stagespécifique dans la requête principale. - Filtrez les deux sous-requêtes et la requête principale pour n'inclure que les données de la saison 2012/2013.
GROUPla requête par la colonnem.stage.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
SELECT
-- Select the stage and average goals for each stage
m.stage,
ROUND(___(___ + m.away_goal),2) AS avg_goals,
-- Select the average overall goals for the 2012/2013 season
ROUND((SELECT ___(___ + away_goal)
FROM match
WHERE season = ___),2) AS overall
FROM match AS m
-- Filter for the 2012/2013 season
WHERE ___ = ___
-- Group by stage
GROUP BY ___;