L’opérateur IN vous permet de spécifier plusieurs valeurs dans une clause WHERE.
L’opérateur IN accomplit le même objectif que OR. Mais IN a les avantages suivants.
- Pour les longues listes d’options valides, la syntaxe de l’opérateur IN est beaucoup plus propre et plus facile à lire.
- L’ordre d’évaluation est plus facile à gérer.
- Le plus grand avantage de IN est que l’opérateur IN peut contenir une autre instruction SELECT.
Syntaxe:
SELECT nom_colonne(s)
FROM nom_table
WHERE nom_colonne [NOT] IN (valeur1, valeur2, ...);
ou:
SELECT nom_colonne(s)
FROM nom_table
WHERE nom_colonne [NOT] IN (SELECT instruction );
Base de données DB2 :
Vous trouverez ci-dessous une sélection de la table “Produit” de la base de données DB2.
ID-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7001 | Souris | Accessoires | 75,00 | ||
7002 | Disque dur | 65,00 | 20 | 1 300 | |
7003 | Clavier | Accessoires | 36.00 | 33 | 1 118,00 |
7004 | RAM | Composants | 23.50 | 16 | 376,00 |
7005 | VTT | vélos | 1 200 | ||
7006 | STYLO | 7.45 | 10 | 74,50 | |
7007 | Lecteur CD | Accessoires | 75,00 | ||
7008 | Micro | Accessoires | 75,00 |
Exemple 1 : Utilisation de l’opérateur IN :
L’instruction SQL suivante sélectionne tous les produits avec la catégorie “Accessoires”, “Composants” et “Vélos”.
SELECT *
FROM Produit
WHERE Categorie IN ('Accessoires', 'Composants', 'Vélos');
Résultat:
ID-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7001 | Souris | Accessoires | 75,00 | ||
7003 | Clavier | Accessoires | 36.00 | 33 | 1 118,00 |
7004 | RAM | Composants | 23.50 | 16 | 376,00 |
7005 | Honda | vélos | 1 200 | ||
7007 | Lecteur CD | Accessoires | 75,00 | ||
7008 | Micro | Accessoires | 75,00 |
Exemple 2 : Utilisation de l’opérateur NOT
NOT est un mot clé utilisé dans une clause WHERE pour annuler une condition.
L’instruction SQL suivante sélectionne tous les produits qui ne sont pas dans la catégorie comme “Accessoires”, “Composants” et “Vélos”.
Exemple:
SELECT *
FROM Product
WHERE Categorie NOT IN ('Accessoires', 'Composants', 'Vélos');
Résultat:
ID-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7002 | Disque dur | 65,00 | 20 | 1 300 | |
7006 | STYLO | 7.45 | 10 | 74,50 |
Exemple 3 : Utilisation de l’opérateur IN avec SELECT
L’instruction SQL suivante sélectionne tous les étudiants issus des mêmes villes que les enseignants :
Exemple:
SELECT * FROM Etudiants
WHERE Ville IN (SELECT Ville FROM Enseignants);