Filtrer avec une sous-requête
Une autre façon de filtrer depuis une table distincte est d’utiliser une sous-requête. La démarche est la suivante :
- Créer une sous-requête qui renvoie une liste.
- Dans votre requête principale, ajouter une clause
WHEREqui référence cette liste.
Votre objectif est de produire le même rapport que dans l’exercice précédent, avec les caractéristiques suivantes :
- La première colonne est bronze_medals, c’est-à-dire le total de
bronze. - La deuxième colonne est silver_medals, c’est-à-dire le total de
silver. - La troisième colonne est gold_medals, c’est-à-dire le total de
gold. - Seuls les
summer_gamessont inclus. - Le rapport est filtré pour n’inclure que les athlètes âgés de 16 ans ou moins.
Dans cet exercice, utilisez l’approche par sous-requête.
Cet exercice fait partie du cours
Réaliser des rapports en SQL
Instructions
- Créez une requête qui récupère les totaux
bronze_medals,silver_medalsetgold_medalsdepuissummer_games. - Mettez en place une sous-requête qui renvoie tous les athlètes âgés de 16 ans ou moins.
- Ajoutez une clause
WHEREqui référence la sous-requête pour filtrer les athlètes âgés de 16 ans ou moins.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
-- Pull summer bronze_medals, silver_medals, and gold_medals
SELECT
____,
____,
____
FROM ____
-- Add the WHERE statement below
WHERE ____ IN
-- Create subquery list for athlete_ids age 16 or below
(SELECT ____
FROM ____
WHERE ____);