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
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Communication d’entreprise à l’ère de l’IA : fragmentation, Shadow AI et perte de contrôle
- Pourquoi les outils de sécurité ne suffisent plus face aux angles morts de la détection
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- L’analytique prédictive au service de la décarbonation en France
Articles les + lus
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
Les coûts cachés des merge requests générées par l’IA
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
À la une de la chaîne Tech
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
- Les coûts cachés des merge requests générées par l’IA
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
