CommencerCommencer gratuitement

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 :

  1. Créer une sous-requête qui renvoie une liste.
  2. Dans votre requête principale, ajouter une clause WHERE qui 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_games sont 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

Afficher le cours

Instructions

  • Créez une requête qui récupère les totaux bronze_medals, silver_medals et gold_medals depuis summer_games.
  • Mettez en place une sous-requête qui renvoie tous les athlètes âgés de 16 ans ou moins.
  • Ajoutez une clause WHERE qui 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 ____);
Modifier et exécuter le code