MySQL – Vérifier si une valeur existe
L’opérateur IN vous permet de vérifier si une valeur spécifiée correspond à une valeur dans un ensemble de valeurs ou des valeurs renvoyée par une sous-requête.
Syntaxe:
La syntaxe de la clause IN dans MySQL:
expression IN (valeur1, valeur2, ...., valeur_n);
Prenons quelques exemples d’utilisation de la clause IN pour voir comment elle fonctionne. Pour cela nous allons utiliser la table « Clients ».
Supposons maintenant, en fonction de la table clients ci-dessus, que vous souhaitez afficher les clients avec l’age égal à 20, 22 et 24. Ceci peut être effectué comme suit:
SELECT * FROM Clients WHERE Age IN (20, 22, 24);
Utilisation de l’opérateur IN avec une sous-requête:
L’opérateur IN est souvent utilisé avec une sous-requête. Au lieu de fournir une liste de valeurs littérales, la sous-requête obtient une liste de valeurs d’une ou de plusieurs tables et les utilise comme valeurs d’entrée de l’opérateur IN.
Considérons la table « Commandes » suivante :
Par exemple, si vous souhaitez rechercher les commandes dont les clients ont un age supérieures à 30, vous utilisez l’opérateur IN, comme indiqué dans la requête suivante:
SELECT NumCommande, Totale FROM Commandes WHERE ClientID IN ( SELECT ClientID FROM Clients WHERE Age > 30 );