
En este tutorial, exploraremos la cláusula WHERE IN para comprender cómo usarla para filtrar resultados en una tabla o conjunto de resultados determinado.
Cláusula SQL WHERE IN
La sintaxis básica de la cláusula WHERE IN en SQL es la siguiente:
Seleccione columna 1, columna 2,…
DEL nombre de la tabla
DONDE nombre de la columna EN (valor 1, valor 2, …);
Comenzamos con una declaración básica de «selección», luego los campos que queremos incluir en el conjunto de resultados.
A continuación, especificamos la tabla de la que queremos recuperar resultados. Finalmente, especificamos los criterios de filtro usando la cláusula WHERE, seguida del nombre del campo que queremos filtrar. Después de la cláusula IN, especificamos la lista de valores que se utilizarán para el filtrado.
Ejemplo 1: filtrar un único resultado
Para demostrar mejor cómo utilizar la cláusula WHERE IN, veamos un ejemplo. Considere la tabla «película» en la base de datos de muestra de Sakila.
Supongamos que queremos recuperar todas las películas clasificadas como PG o PG-13. Podemos usar la cláusula WHERE IN de la siguiente manera:
Seleccione título, año de publicación, calificación
de la película
DONDE calificación EN ('PG');
En este ejemplo, proporcionamos una lista de valores únicos que queremos recuperar en la cláusula IN.
Ejemplo 2: filtrar varios valores
También podemos especificar varios elementos en la lista de valores. Por ejemplo, para recuperar películas de una lista clasificada como PG y PG-13, podríamos ejecutar la siguiente consulta:
Seleccione título, año de publicación, calificación
de la película
DONDE calificación EN ('PG', 'PG-13');
El resultado resultante es el siguiente:
Ejemplo 3: filtrado mediante subconsultas
También podemos usar WHERE IN en una subconsulta, lo que nos permite filtrar resultados de un conjunto de resultados determinado.
Digamos que queremos filtrar películas según el idioma. Por ejemplo, para recuperar películas en inglés y japonés, podemos usar WHERE IN en una subconsulta de la siguiente manera:
Seleccione título, año de publicación, calificación
DEL vídeo f
DONDE language_id EN (
Seleccione idioma_id
del lenguaje
DONDE nombre EN ('inglés', 'japonés')
);
En este ejemplo, creamos una subconsulta para recuperar los valores «language_id» en inglés y japonés de la tabla «idiomas». En la consulta principal, seleccionamos películas según el valor «language_id» resultante.
en conclusión
En este artículo, aprenderemos cómo utilizar la cláusula WHERE IN en SQL para filtrar los resultados que coinciden con uno o varios valores en una lista determinada.