OUJOOD.COM
Tutoriel SQL IN: Définition et utilisation
L'opérateur IN est utilisé en SQL pour tester si une valeur est incluse dans une liste de valeurs. Il est utilisé dans les clauses WHERE et SELECT des instructions SELECT, UPDATE, et DELETE.
Syntaxe
L'opérateur IN a la syntaxe suivante :
expr IN (val1, val2, ..., valN)
Où :
- expr est une expression qui renvoie une valeur.
- val1, val2, ..., valN sont des valeurs qui sont comparées à expr.
Exemples pratiques
Voici quelques exemples de la façon d'utiliser l'opérateur IN :
Exemple : 📋 Copier le code
# Afficher tous les produits dont le prix est compris entre 10 et 20
SELECT *
FROM produits
WHERE prix IN (10, 15, 20);
# Mettre à jour le stock de tous les produits dont le code est 'PROD1' ou 'PROD2'
UPDATE produits
SET stock = stock + 10
WHERE code IN ('PROD1', 'PROD2');
# Supprimer tous les clients dont l'âge est supérieur à 18 ans
DELETE FROM clients
WHERE age IN (19, 20, 21);
Pour récupérer tous les clients dont le pays est l'un des suivants :
Exemple : 📋 Copier le code
SELECT *
FROM clients
WHERE pays IN ('France', 'Allemagne', 'Italie')
Pour mettre à jour le nom de tous les produits dont le prix est supérieur à 100 :
Exemple : 📋 Copier le code
UPDATE produits SET nom = 'Produit mis à jour' WHERE prix IN (101, 102, 103, ...)
Pour supprimer tous les enregistrements dont la date de naissance est antérieure à 1990 :
Exemple : 📋 Copier le code
DELETE FROM utilisateurs
WHERE date_naissance IN ('1989-01-01', '1988-01-01', ...)
La clause IN peut être utilisée avec des sous-requêtes. Par exemple, la requête suivante retournera tous les clients dont le nom est inclus dans la liste des noms des clients de la table other_clients :
Exemple : 📋 Copier le code
SELECT * FROM clients WHERE name IN (SELECT name FROM other_clients);
Astuces et conseils d'utilisation
- L'opérateur IN peut être utilisé avec des listes vides.
- L'opérateur IN peut être utilisé avec des listes de valeurs nulles.
- L'opérateur IN peut être utilisé avec des listes de valeurs de n'importe quel type.
- L'opérateur IN peut être utilisé avec des listes de valeurs constantes ou variables.
- L'opérateur IN peut être utilisé avec des listes de valeurs provenant de tables ou de vues.
Conclusion
L'opérateur IN est un outil puissant qui peut être utilisé pour tester si une valeur est incluse dans une liste de valeurs. Il est utilisé dans une variété de contextes, notamment dans les clauses WHERE, SELECT, UPDATE, et DELETE.