Aprende a utilizar el operador IN de SQL

El operador IN de SQL filtra un conjunto de resultados en función de una lista de valores. La lista de valores puede ser simplemente listada o es proporcionada por una declaración SELECT separada (esto se llama una subconsulta).
El operador IN siempre se utiliza dentro de la cláusula WHERE.
Sintaxis
A continuación, se muestra la sintaxis del operador IN enumerando los valores directamente.
SELECT "nombre_columan"
FROM "nombre_tabla"
WHERE " nombre_columan " IN (valor1, 'valor2', ...);
El número de valores en el paréntesis puede ser uno o más, con cada uno de los valores separados por comas. Los valores pueden ser caracteres numéricos o de cadena. Si solo hay un valor dentro del paréntesis, esta instrucción es equivalente a:
WHERE "column_name" = 'value1'
La sintaxis para el operador IN en una subconsulta es la siguiente:
SELECT "nombre_columan"
FROM "nombre_tabla"
WHERE "nombre_columan" IN ( [SELECT STATEMENT] );
Ejemplos
Usamos la tabla Employes de base de datos Northwind que hemos estado utilizando y la pueden descargar en esta liga.
Tabla Employes:
EmployeeID | LastName | FirstName | Title | Address |
---|---|---|---|---|
1 | Davolio | Nancy | Representante de Ventas | 507 - 20th Ave. E. Apt. 2A |
2 | Web Group | Estrada | Vice President, Sales | 908 W. Capital Way |
3 | Leverling | Janet | Representante de Ventas | 722 Moss Bay Blvd. |
4 | Peacock | Margaret | Representante de Ventas | 4110 Old Redmond Rd. |
5 | Buchanan | Steven | Sales Manager | 14 Garrett Hill |
6 | Suyama | Michael | Representante de Ventas | Coventry House Miner Rd. |
7 | King | Robert | Representante de Ventas | Edgeham Hollow Winchester Way |
8 | Callahan | Laura | Inside Sales Coordinator | 4726 - 11th Ave. N.E. |
9 | Dodsworth | Anne | Representante de Ventas | 7 Houndstooth Rd. |
Para seleccionar todos los registros donde el TItle sea “Vice President, Sales” o “Sales Manager” en Tabla Employes, ingresamos lo siguiente:
SELECT EmployeeID, LastName, FirstName, Title, Address FROM Employees WHERE Title IN('Vice President, Sales', 'Sales Manager');
Resultado
EmployeeID | LastName | FirstName | Title | Address |
---|---|---|---|---|
2 | Web Group | Estrada | Vice President, Sales | 908 W. Capital Way |
5 | Buchanan | Steven | Sales Manager | 14 Garrett Hill |
Para ver un ejemplo del operador IN con una instrucción SELECT por separado, consulte la sección Subconsulta.