CommencerCommencez gratuitement

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>
Voir le 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 stage spé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.
  • GROUP la requête par la colonne m.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 ___;
Modifier et exécuter le code