Outre les comparaisons de base -- égal à, différent de, supérieur à, et inférieur à -- DB2 for i SQL propose six autres opérateurs de comparaison : In, Between, Like, Distinct, Is Null et Exists.In est probablement le plus utile des six. Une comparaison In est basée
Elargir l’horizon
sur une liste de valeurs de comparaison. Elle peut être codée en dur, comme ceci :
Select * from Customer
Where CusState
in (‘CA’, ‘NV’, ‘AZ’, ‘NM’)
Si la colonne CusState contient l’une des valeurs de la liste, les données du client seront incluses dans le jeu de résultats. Vous constaterez que les prédicats contenant In sont encore plus utiles accompagnés d’une instruction Select pour formuler la liste des valeurs de comparaison. Par exemple, l’instruction suivante produit la même liste de codes d’État (CA, NV, AZ, et NM).
Select TrState from Territory
Where TrTerr = 1
En utilisant l’instruction de sélection de territoire comme un sub-select, vous pouvez construire dynamiquement une liste pour la comparaison In. Le code ci-après, comme l’exemple ci-dessus, sélectionne tous les clients de Californie, Nevada, Arizona, et Nouveau-Mexique. Mais, contrairement à la solution codée en dur, ce code inclura automatiquement d’autres États si les définitions de territoire changent. Il est donc facile de l’adapter pour d’autres territoires ou d’autres critères de sélection client.
Select CusNumb from Customer
Where (CusState in
(Select TrState from Territory
Where TrTerr = 1))
Bien entendu, les critères de création de la liste de comparaison peuvent être bien plus complexes que ceux qui sont illustrés ici. Les prédicats qui incluent des comparaisons In sont très pratiques pour examiner et modifier des données de tests, mais cet opérateur aura aussi toute sa place dans votre code de production.
Une comparaison Between est plus facile à comprendre avec des valeurs numériques. Imaginez que, en plus de sélectionner des clients du territoire 001, vous vouliez sélectionner, pour ces mêmes clients, des valeurs de commande supérieures à 100 dollars mais inférieures à 1000 dollars. Vous pourriez bien sûr utiliser >= et <= comme dans l’exemple précédent qui spécifie un intervalle de dates, mais l’opérateur Between est généralement plus simple à coder et à comprendre.
Select CusNumb, OHNumb from Customer, OrdHead
Where CusNumb = OHCust
and (CusState in
(Select TrState from Territory
Where TrTerr = 1)
and (OHAmt between 100.00 and 1000.00))
Order by CusNumb, OHNumb
Une comparaison Like permet de développer des prédicats basés sur des valeurs partielles, avec ou sans jokers. Par exemple, Like permet de trouver tous les produits dont les descriptions incluent le mot “promotion,” ainsi que ceux dont les noms commencent par un certain jeu de caractères (“prm” dans cet exemple).
Select Prdnumb from Product
Where (PrdDesc Like ‘%Promotion%’
or PrdDesc Like ‘%promotion%’
or PrdName Like ‘prm%’)
Dans une comparaison utilisant Like, vous pouvez utiliser un signe pour cent (%) pour spécifier un joker, comme dans l’exemple. Ce signe représente zéro, ou plus, caractères ne faisant pas partie de la comparaison. Si un signe pour cent précède et suit les mots “Promotion” et “promotion,” toute description qui les contient sera sélectionnée. Pour les noms de produits, il n’y a qu’un signe pour cent, donc seuls les noms commençant par les lettres “prm” seront sélectionnés. Vous pouvez aussi inclure un trait de soulignement (_) dans votre expression pour représenter un caractère joker unique.
In, Between, et Like étendent les prédicats au-delà de simples comparaisons. Ajoutez donc ces opérateurs essentiels à votre panoplie SQL : vos instructions SQL en seront plus simples et plus puissantes.
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Activer la mise en veille prolongée dans Windows 10
- Une baie de stockage c’est quoi ?
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
Les plus consultés sur iTPro.fr
- Sekoia.io : l’alternative européenne qui s’impose dans la cybersécurité
- Redéfinir la confiance à l’ère de l’IA agentique : les entreprises sont-elles prêtes pour le SOC autonome ?
- IA Agentique : la vraie rupture c’est la gouvernance humaine
- Les défaillances des pipelines de données pèsent lourdement sur la performance des grandes entreprises
Articles les + lus
Analyse Patch Tuesday Mars 2026
Une nouvelle ère de la modernisation du mainframe
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
Adapter la sécurité OT aux réalités de l’industrie
À la une de la chaîne Tech
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
- DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
- Adapter la sécurité OT aux réalités de l’industrie
