Instruction WHERE IN dans MySQL
Dans ce tutoriel, nous visons à explorer comment utiliser la clause WHERE IN
dans MySQL.
Il existe de nombreuses techniques de filtrage de données différentes dans MySQL. Les instructions IF ELSE
, CASE
et WHERE
en sont des exemples. Explorons les détails d’implémentation de la clause WHERE IN
dans cet article.
La clause WHERE IN
nous aide à définir une condition particulière pour le filtrage des données. Il prend en compte le nom de la colonne et l’ensemble dans lequel les valeurs doivent être trouvées. La partie IN
de la requête permet de rechercher la valeur dans l’ensemble défini.
Comprenons comment cette méthode fonctionne. Avant de commencer, nous devons créer un jeu de données factice en créant une table, student_details
, ainsi que quelques lignes.
-- create the table student_details
CREATE TABLE student_details(
stu_id int,
stu_firstName varchar(255) DEFAULT NULL,
stu_lastName varchar(255) DEFAULT NULL,
primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName)
VALUES(1,"Preet","Sanghavi"),
(2,"Rich","John"),
(3,"Veron","Brow"),
(4,"Geo","Jos"),
(5,"Hash","Shah"),
(6,"Sachin","Parker"),
(7,"David","Miller");
Pour afficher les entrées dans les données, nous utilisons le code suivant.
SELECT * FROM student_details;
Production :
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
Instruction WHERE IN
dans MySQL
La syntaxe de base de la technique WHERE IN
est la suivante.
SELECT * FROM name_of_the_table WHERE column_name IN <set_condition>;
Essayons de filtrer les étudiants à partir de la table student_details
.
Nous récupérons uniquement les enregistrements des étudiants dont le stu_id
est inférieur à 3
. En utilisant la clause WHERE IN
, cette opération peut être effectuée à l’aide de la requête suivante.
SELECT * FROM student_details WHERE stu_id IN (1,2,3);
Production :
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
Comme indiqué dans le bloc de code ci-dessus, nous récupérons les enregistrements avec stu_id
comme 1
, 2
ou 3
uniquement si nécessaire.
Une alternative à la technique WHERE IN
est l’instruction CASE WHEN
. Une procédure stockée IF ELSE
peut également être utilisée à la place de la clause WHERE IN
.
Par conséquent, à l’aide de l’instruction WHERE
avec IN
, nous pouvons filtrer efficacement les données en fonction de n’importe quelle condition de disponibilité d’entrée dans MySQL.