Declaración WHERE IN en MySQL

Preet Sanghavi 29 marzo 2022
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.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub