CommencerCommencer gratuitement

Sous-requêtes dans SELECT pour les calculs

Les sous-requêtes dans SELECT sont un moyen utile de créer des colonnes calculées dans une requête. Une sous-requête dans SELECT peut être traitée comme une valeur numérique unique à utiliser dans vos calculs. Lorsque vous écrivez des requêtes dans SELECT, il est important de se rappeler que le filtrage de la requête principale ne filtre pas la sous-requête, et inversement.

Dans l’exercice précédent, vous avez créé une colonne pour comparer la moyenne des buts totaux de chaque championnat à la moyenne générale des buts pour la saison 2013/2014. Dans cet exercice, vous allez ajouter une colonne qui compare directement ces valeurs en soustrayant la moyenne globale de la sous-requête.

Cet exercice fait partie du cours

Manipulation de données en SQL

Afficher le cours

Instructions

  • Dans la requête principale, sélectionnez la moyenne des buts marqués au cours d’un match pour chaque championnat.
  • Dans la sous-requête, sélectionnez la moyenne des buts marqués au cours d’un match pour la saison 2013/2014.
  • Soustrayez la sous-requête du nombre moyen de buts calculé pour chaque championnat.
  • Filtrez la requête principale afin que seuls les matchs de la saison 2013/2014 soient inclus.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

SELECT
	-- Select the league name and average goals scored
	___ AS league,
	ROUND(___(___ + m.away_goal),2) AS avg_goals,
    -- Subtract the overall average from the league average
	ROUND(AVG(___ + m.away_goal) ___ 
		(SELECT ___(___ + away_goal)
		 FROM match 
         WHERE ___ = ___),2) AS diff
FROM league AS l
LEFT JOIN match AS m
ON l.country_id = m.country_id
-- Only include 2013/2014 results
WHERE ___ = ___
GROUP BY l.name;
Modifier et exécuter le code