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
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Activer la mise en veille prolongée dans Windows 10
- Et si les clients n’avaient plus le choix ?
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Afficher les icônes cachées dans la barre de notification
Les plus consultés sur iTPro.fr
- IA au travail : les Millennials utilisent l’IA sans filet, la Gen Z avance mieux accompagnée
- Agents IA incontrôlés et rappel à l’ordre de Bruxelles : pourquoi la réponse doit être technique, pas seulement juridique
- Analyse Patch Tuesday Octobre 2026
- IA et cybersécurité : les entreprises françaises acceptent plus de risques qu’elles ne savent les contrôler
Articles les + lus
Continuer avec Exchange Server : quelles conséquences ?
Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
À la une de la chaîne Tech
- Continuer avec Exchange Server : quelles conséquences ?
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
