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
Instructions de l’exercice
- Créez une sous-requête dans la clause
WHEREqui récupère toutes les valeurs uniques dehometeam_idde la tablematch. - Sélectionnez
team_long_nameetteam_short_namede la tableteam. 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 ___);