Le dernier opérateur de comparaison, Exists, est probablement le plus déroutant et le moins utile. À première vue, il semble similaire à In, et un prédicat qui contient Exists ressemble aussi à un prédicat qui utilise In, parce que la valeur de comparaison pour un prédicat Exists
Prédicats Exists et Quantified
est une instruction Select. Mais cette similarité est trompeuse. Un prédicat qui utilise In compare une expression à une liste de valeurs, alors que Exists détermine simplement si l’instruction Select renvoie une ligne quelconque. Le contenu du jeu de résultats n’est pas important, et il n’est pas non plus disponible pour le reste de l’instruction SQL.
L’instruction suivante produira une liste de tous les numéros de produits dans la table Product (pas seulement les produits assignés à la catégorie 1) si un produit au moins est assigné à la catégorie 1. Si aucun produit n’est assigné à la catégorie 1, cette instruction ne renverra aucun résultat.
Select PrdNumb from Product
Where Exists
(Select * from Product Where PrdCat = 1)
Les prédicats Quantified sont similaires à Exists mais plus adaptables. Un prédicat quantifié contient une instruction Select précédée par un mot-clé qui détermine le type de comparaison : All, Some, ou Any. Les résultats seront identiques si votre prédicat contient Some ou Any. L’exemple suivant donnera une liste de produits dont les catégories sont valides.
Select PrdNumb from Product
Where PrdCat = Any
(Select PCatKey from PCategory)
Une comparaison qui utilise All ne sera vraie (true) que si l’expression de gauche correspond à toutes les entrées renvoyées par Select. En règle générale, les prédicats quantifiés qui utilisent Any ou Some sont plus fonctionnels et plus faciles à comprendre que ceux qui utilisent All, mais All peut s’avérer utile dans certains cas.
Les prédicats quantifiés qui contiennent All sont plus efficaces quand on recherche des conditions autres que égal. Par exemple, All permet de savoir quels employés gagnent plus que tous ceux d’un département donné, comme dans cet exemple.
Select Empno from Employee
Where EmpSalary > ALL
(Select EmpSalary From Employee
Where EmpDept = 3)
Téléchargez cette ressource
Microsoft 365 Tenant Resilience
Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Analyse Patch Tuesday Septembre 2026
- Agents fantômes en EMEA : l’IA s’emballe, les conseils d’administration s’inquiètent
- L’illusion du contrôle à l’ère du cloud globalisé
- Souveraineté numérique : la résilience l’emporte sur l’indépendance totale
Articles les + lus
Sécurité : une approche dans la durée avant tout
Guide Ultime des Raccourcis Clavier Windows 11 pour les Professionnels IT
Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
À la une de la chaîne Tech
- Sécurité : une approche dans la durée avant tout
- Guide Ultime des Raccourcis Clavier Windows 11 pour les Professionnels IT
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
