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

État des lieux de la réponse à incident de cybersécurité
Les experts de Palo Alto Networks, Unit 42 et Forrester Research livrent dans ce webinaire exclusif leurs éclairages et stratégies en matière de réponses aux incidents. Bénéficiez d'un panorama complet du paysage actuel de la réponse aux incidents et de sa relation avec la continuité de l'activité, des défis auxquels font face les entreprises et des tendances majeures qui modèlent ce domaine. Un état des lieux précieux pour les décideurs et professionnels IT.
Les articles les plus consultés
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Et si les clients n’avaient plus le choix ?
- Activer la mise en veille prolongée dans Windows 10
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Afficher les icônes cachées dans la barre de notification
Les plus consultés sur iTPro.fr
- Renouvellement des certificats SSL tous les 45 jours : une mise en œuvre impossible sans automatisation ?
- Palo Alto Networks s’engage sur la cyber solidarité
- Recrudescence des cyberattaques pilotées par l’IA
- Quelles salles de réunion renforcent la dynamique et la confiance d’équipe ?
- L’intelligence collective dans l’ère numérique
