CommencezCommencez gratuitement

Des SOUS‑REQUÊTES PARTOUT

Dans les ligues de soccer, les matchs se déroulent à différentes étapes (stages). Les équipes gagnantes passent d'une étape à l'autre jusqu'à la finale. À chaque étape, l'enjeu devient plus élevé que lors de la précédente. La table match contient des données sur les différentes étapes où chaque match a eu lieu.

Au fil des 3 prochains exercices, vous allez construire une seule requête qui contient une sous‑requête dans chacune des clauses SELECT, FROM et WHERE. Le nombre moyen de buts marqués change‑t‑il lorsque les enjeux augmentent d'une étape à l'autre?

La requête répète une même sous‑requête pour vous permettre de vous exercer à chaque emplacement. Chaque copie relit la table match; dans votre propre travail, vous calculeriez la moyenne globale une seule fois, comme le montre le chapitre 4 avec une fonction de fenêtre.

Cette activité fait partie du cours

Manipulation de données en SQL

Voir le cours

Instructions de l’exercice

  • Extraire le nombre moyen de buts totaux dans une sous‑requête de SELECT.
  • Calculer le nombre moyen de buts totaux pour l'stage précis dans la requête principale.
  • Filtrer 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