Declaración WHERE IN en MySQL
En este tutorial, nuestro objetivo es explorar cómo usar la cláusula WHERE IN
en MySQL.
Hay muchas técnicas diferentes de filtrado de datos en MySQL. Las declaraciones IF ELSE
, CASE
y WHERE
son ejemplos de esto. Exploremos los detalles de implementación de la cláusula WHERE IN
en este artículo.
La cláusula WHERE IN
nos ayuda a establecer una condición particular para el filtrado de datos. Toma el nombre de la columna y el conjunto en el que se encuentran los valores. La parte IN
de la consulta ayuda a buscar el valor en el conjunto definido.
Vamos a entender cómo funciona este método. Antes de comenzar, debemos crear un conjunto de datos ficticio mediante la creación de una tabla, student_details
, junto con algunas filas.
-- 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");
Para ver las entradas en los datos, usamos el siguiente código.
SELECT * FROM student_details;
Producción :
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
Declaración WHERE IN
en MySQL
La sintaxis básica de la técnica WHERE IN
es la siguiente.
SELECT * FROM name_of_the_table WHERE column_name IN <set_condition>;
Tratemos de filtrar estudiantes de la tabla student_details
.
Obtenemos registros solo para estudiantes con su stu_id
menor que 3
. Usando la cláusula WHERE IN
, esta operación se puede realizar con la ayuda de la siguiente consulta.
SELECT * FROM student_details WHERE stu_id IN (1,2,3);
Producción :
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
Como se muestra en el bloque de código anterior, obtenemos los registros con stu_id
como 1
, 2
, o 3
sólo según sea necesario.
Una alternativa a la técnica WHERE IN
es la declaración CASE WHEN
. También se puede utilizar un procedimiento almacenado IF ELSE
en lugar de la cláusula WHERE IN
.
Por lo tanto, con la ayuda de la declaración WHERE
con IN
, podemos filtrar datos de manera eficiente en función de cualquier condición de disponibilidad de entrada en MySQL.