Filtrage à l’aide d’une sous-requête avec liste
Dans cet exercice, l’objectif est de générer la liste des équipes qui n’ont jamais joué de match à domicile. À l’aide d’une sous-requête, vous allez générer une liste de valeurs hometeam_ID uniques à partir de la table non filtrée match pour les exclure dans la colonne team_api_ID de la table team.
Outre le filtrage à l’aide d’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 en fonction d’un ensemble complexe de conditions. 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 de jointure, même si la liste provient d’une table distincte.
Cet exercice fait partie du cours
<cours>Manipulation de données en SQL</cours>Instructions de l’exercice
- Créez une sous-requête dans la clause
WHEREqui récupère toutes les valeurs uniques dehometeam_iddans la tablematch. - Sélectionnez les valeurs
team_long_nameetteam_short_namedans 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 ___);