CommencezCommencez gratuitement

Filtrer à l'aide d'une sous-requête avec une liste

Votre objectif dans cet exercice est de générer une liste d'équipes qui n'ont jamais disputé de match dans leur ville d'attache. À l'aide d'une sous-requête, vous allez produire une liste des valeurs uniques de hometeam_ID tirées de la table match non filtrée, afin de les exclure de la colonne team_api_ID de la table team.

En plus du filtrage avec une sous-requête à valeur unique (scalaire), vous pouvez créer une liste de valeurs dans une sous-requête pour filtrer les données selon un ensemble de conditions complexes. Ce type de sous-requête génère une liste de référence à une colonne pour la requête principale. Tant que les valeurs de votre liste correspondent à une colonne de la table de votre requête principale, vous n'avez pas besoin d'utiliser une jointure — même si la liste provient d'une table distincte.

Cette activité fait partie du cours

Manipulation de données en SQL

Voir le cours

Instructions de l’exercice

  • Créez une sous-requête dans la clause WHERE qui récupère toutes les valeurs uniques de hometeam_id de la table match.
  • Sélectionnez team_long_name et team_short_name de la table team. Excluez toutes les valeurs de la sous-requête dans la requête principale.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

SELECT 
	-- Select the team long and short names
	___,
	___
FROM ___ 
-- Exclude all values from the subquery
WHERE team_api_id ___ ___
     (___ DISTINCT ___  FROM ___);
Modifier et exécuter le code