CommencerCommencer gratuitement

Filtrage à l’aide de sous-requêtes scalaires

Les sous-requêtes sont incroyablement puissantes pour appliquer des filtres et effectuer des transformations complexes. Vous pouvez filtrer les données basées sur des valeurs uniques (scalaires) à l'aide d'une sous-requête, ce qui n'est pas possible avec les instructions WHERE ou les jointures. Les sous-requêtes peuvent également être utilisées pour une manipulation plus avancée de votre ensemble de données. Vous trouverez probablement des sous-requêtes dans tout environnement réel utilisant des bases de données relationnelles.

Dans cet exercice, vous allez générer une liste de matchs où le nombre total de buts marqués (par les deux équipes) dépasse au moins 3 fois la moyenne des matchs de la table matches_2013_2014, qui inclut tous les matchs joués pendant la saison 2013/2014.

Cet exercice fait partie du cours

Manipulation de données en SQL

Afficher le cours

Instructions

  • Calculez le triple de la moyenne des buts marqués à domicile et à l'extérieur pour tous les matches d'une sous-requête.
  • Filtrez la requête principale pour les matches dont le nombre total de buts (à domicile + à l'extérieur) dépasse la valeur indiquée dans la sous-requête.

Exercice interactif pratique

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

SELECT 
	-- Select the date, home goals, and away goals scored
    date,
	home_goal,
	away_goal
FROM matches_2013_2014
-- Filter for matches where total goals exceeds 3x the average
WHERE (___ + ___) ___ 
       (SELECT ___ * AVG(___ + ___)
        FROM ___); 
Modifier et exécuter le code