En este artículo de SQL, aprenderá cómo utilizar la palabra clave IN en las consultas de la base de datos SQL.
¿Qué es la palabra clave IN en SQL?
El EN es un operador lógico en el lenguaje de consulta estructurado que permite a los usuarios de la base de datos definir más de un valor en la cláusula WHERE.
La cláusula WHERE con el operador IN muestra aquellos registros en el resultado que coinciden con el conjunto de valores dado. También podemos especificar la subconsulta entre paréntesis del operador IN.
comandos de Linux que
Podemos utilizar el operador IN con las consultas INSERT, SELECT, UPDATE y DELETE en la base de datos SQL.
El operador IN en SQL reemplaza el proceso de múltiples condiciones OR en las consultas.
Sintaxis del operador IN:
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ......, Column_Name_N FROM Table_Name WHERE Column_Name IN (Value_1, Value_2, Value_3, ......., Value_N);
Si desea utilizar el operador IN en las declaraciones SQL, debe seguir los pasos que se detallan a continuación en la misma secuencia:
- Crear una base de datos en SQL.
- Cree la nueva tabla SQL.
- Inserta los datos en la tabla.
- Ver los datos insertados.
- Utilice el operador SQL IN para mostrar los datos de la tabla.
Ahora, vamos a explicar brevemente cada paso uno por uno con el mejor ejemplo de SQL:
Paso 1: crear una nueva base de datos sencilla
El primer paso es crear una nueva base de datos en lenguaje de consulta estructurado.
La siguiente declaración CREATE crea el nuevo colegio_mecanico Base de datos en servidor SQL:
CREATE Database Mechanical_College;
Paso 2: crea una nueva tabla
Ahora, utilice la siguiente sintaxis SQL que le ayudará a crear la nueva tabla en la base de datos:
CREATE TABLE table_name ( 1st_Column data type (character_size of 1st Column), 2nd_Column data type (character_size of the 2nd column ), 3rd_Column data type (character_size of the 3rd column), ...
Nth_Column data type (character_size of the Nth column) );
La siguiente declaración CREATE crea el Información_facultad mesa en el colegio_mecanico Base de datos:
CREATE TABLE Faculty_Info ( Faculty_ID INT NOT NULL PRIMARY KEY, Faculty_First_Name VARCHAR (100), Faculty_Last_Name VARCHAR (100), Faculty_Dept_Id INT NOT NULL, Faculty_Joining_DateDATE, Faculty_City Varchar (80), Faculty_Salary INT );
Paso 3: inserte los datos en la tabla
Las siguientes consultas INSERT insertan los registros de Facultades en la tabla Faculty_Info:
INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Joining_Date, Faculty_City, Faculty_Salary) VALUES (1001, Arush, Sharma, 4001, 2020-01-02, Delhi, 20000); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Joining_Date, Faculty_City, Faculty_Salary) VALUES (1002, Bulbul, Roy, 4002, 2019-12-31, Delhi, 38000 ); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Joining_Date, Faculty_City, Faculty_Salary) VALUES (1004, Saurabh, Sharma, 4001, 2020-10-10, Mumbai, 45000); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Joining_Date, Faculty_City, Faculty_Salary) VALUES (1005, Shivani, Singhania, 4001, 2019-07-15, Kolkata, 42000); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Joining_Date, Faculty_City, Faculty_Salary) VALUES (1006, Avinash, Sharma, 4002, 2019-11-11, Delhi, 28000); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Joining_Date, Faculty_City, Faculty_Salary)VALUES (1007, Shyam, Besas, 4003, 2021-06-21, Lucknow, 35000);
Paso 4: ver los datos insertados
La siguiente instrucción SELECT muestra los datos de la tabla Faculty_Info:
SELECT * FROM Faculty_Info;
Id_facultad | Facultad_primer_nombre | Facultad_Apellido | ID_departamento_facultad | Facultad_Fecha_de_incorporación | Facultad_Ciudad | Facultad_Salario |
---|---|---|---|---|---|---|
1001 | oso | sharma | 4001 | 2020-01-02 | Delhi | 20000 |
1002 | bulbul | roy | 4002 | 2019-12-31 | Delhi | 38000 |
1004 | Saurabh | roy | 4001 | 2020-10-10 | Bombay | 45000 |
1005 | Shivani | Singhania | 4001 | 2019-07-15 | Calcuta | 42000 |
1006 | avinash | sharma | 4002 | 2019-11-11 | Delhi | 28000 |
1007 | sham | Besas | 4003 | 2021-06-21 | Lucknow | 35000 |
Paso 5: Utilice el operador IN para ver los datos de la tabla Faculty_Info de diferentes maneras
La siguiente consulta utiliza valores numéricos con el operador IN:
SELECT Faculty_Id, Faculty_First_Name, Faculty_Dept_Id, Faculty_Joining_Date, Faculty_Salary FROM Faculty_Info WHERE Faculty_Salary IN ( 38000, 42000, 45000, 35000);
Esta consulta muestra únicamente el registro de aquellas Facultades cuyo salario se pasa en el operador IN de la cláusula WHERE.
Producción:
Id_facultad | Facultad_primer_nombre | ID_departamento_facultad | Facultad_Fecha_de_incorporación | Facultad_Salario |
---|---|---|---|---|
1002 | bulbul | 4002 | 2019-12-31 | 38000 |
1004 | Saurabh | 4001 | 2020-10-10 | 45000 |
1005 | Shivani | 4001 | 2019-07-15 | 42000 |
1007 | sham | 4003 | 2021-06-21 | 35000 |
La siguiente consulta utiliza valores de texto o caracteres con el operador lógico IN:
SELECT Faculty_Id, Faculty_First_Name, Faculty_Joining_Date, Faculty_City FROM Faculty_Info WHERE Faculty_City IN ( Mumbai, Kolkata, Lucknow);
Esta consulta muestra únicamente el registro de aquellas Facultades cuya ciudad está incluida entre paréntesis del operador IN en la cláusula WHERE.
Producción:
Id_facultad | Facultad_primer_nombre | Facultad_Fecha_de_incorporación | Facultad_Ciudad |
---|---|---|---|
1004 | Saurabh | 2020-10-10 | Bombay |
1005 | Shivani | 2019-07-15 | Calcuta |
1007 | sham | 2021-06-21 | Lucknow |
La siguiente consulta utiliza el formato DATE con el operador lógico IN:
SELECT Faculty_Id, Faculty_First_Name, Faculty_Dept_ID Faculty_Joining_Date, Faculty_Salary FROM Faculty_Info WHERE Faculty_Joining_Date IN (2020-01-02, 2021-06-21, 2020-10-10, 2019-07-15);
Esta consulta muestra solo aquellos registros de Facultades cuya fecha de incorporación se pasa en el operador IN de la cláusula WHERE.
Producción:
Id_facultad | Facultad_primer_nombre | ID_departamento_facultad | Facultad_Fecha_de_incorporación | Facultad_Salario |
---|---|---|---|---|
1001 | oso | 4001 | 2020-01-02 | 20000 |
1004 | Saurabh | 4001 | 2020-10-10 | 45000 |
1005 | Shivani | 4001 | 2019-07-15 | 42000 |
1007 | sham | 4003 | 2021-06-21 | 35000 |
La siguiente consulta utiliza el comando SQL UPDATE con el operador lógico IN:
UPDATE Faculty_Info SET Faculty_Salary = 50000 WHERE Faculty_Dept_ID IN (4002, 4003);
Esta consulta actualiza el salario de aquellas Facultades cuyo Dept_Id se pasa en el operador IN de la cláusula WHERE.
Para verificar el resultado de la consulta anterior, escriba la siguiente consulta SELECT en SQL:
SELECT * FROM Faculty_Info;
Id_facultad | Facultad_primer_nombre | Facultad_Apellido | ID_departamento_facultad | Facultad_Fecha_de_incorporación | Facultad_Ciudad | Facultad_Salario |
---|---|---|---|---|---|---|
1001 | oso | sharma | 4001 | 2020-01-02 | Delhi | 20000 |
1002 | bulbul | roy | 4002 | 2019-12-31 | Delhi | 50000 |
1004 | Saurabh | roy | 4001 | 2020-10-10 | Bombay | 45000 |
1005 | Shivani | Singhania | 4001 | 2019-07-15 | Calcuta | 42000 |
1006 | avinash | sharma | 4002 | 2019-11-11 | Delhi | 50000 |
1007 | sham | Besas | 4003 | 2021-06-21 | Lucknow | 50000 |
Operador SQL IN con subconsulta
En lenguaje de consulta estructurado, también podemos utilizar la subconsulta con el operador lógico IN.
La sintaxis del operador IN con subconsulta se proporciona a continuación:
función de subcadena java
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ......, Column_Name_N FROM Table_Name WHERE Column_Name IN (Subquery);
Si desea comprender el operador IN con subconsulta, debe crear dos tablas diferentes en el lenguaje de consulta estructurado utilizando la instrucción CREATE.
La siguiente consulta crea la tabla Faculty_Info en la base de datos:
CREATE TABLE Faculty_Info ( Faculty_ID INT NOT NULL PRIMARY KEY, Faculty_First_Name VARCHAR (100), Faculty_Last_Name VARCHAR (100), Faculty_Dept_Id INT NOT NULL, Faculty_Address Varchar (80), Faculty_City Varchar (80), Faculty_Salary INT );
La siguiente consulta crea el Información_departamento tabla en la base de datos:
CREATE TABLE Department_Info ( Dept_Id INT NOT NULL, Dept_Name Varchar(100), Head_Id INT );
Las siguientes consultas INSERT insertan los registros de Facultades en la tabla Faculty_Info:
INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Address, Faculty_City, Faculty_Salary) VALUES (1001, Arush, Sharma, 4001, 22 street, New Delhi, 20000); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Address, Faculty_City, Faculty_Salary) VALUES (1002, Bulbul, Roy, 4002, 120 street, New Delhi, 38000 ); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Address, Faculty_City, Faculty_Salary) VALUES (1004, Saurabh, Sharma, 4001, 221 street, Mumbai, 45000); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Address, Faculty_City, Faculty_Salary) VALUES (1005, Shivani, Singhania, 4001, 501 street, Kolkata, 42000);
Las siguientes consultas INSERT insertan los registros de los departamentos en la tabla Department_Info:
convertir objeto java a json
INSERT INTO Department_Info (Dept_ID, Dept_Name, Head_Id) VALUES ( 4001, Arun, 1005); INSERT INTO Department_Info (Dept_ID, Dept_Name, Head_Id) VALUES ( 4002, Zayant, 1009); INSERT INTO Department_Info (Dept_ID, Dept_Name, Head_Id) VALUES ( 4003, Manish, 1007);
La siguiente instrucción SELECT muestra los datos de la tabla Faculty_Info:
SELECT * FROM Faculty_Info;
Id_facultad | Facultad_primer_nombre | Facultad_Apellido | ID_departamento_facultad | Dirección_facultad | Facultad_Ciudad | Facultad_Salario |
---|---|---|---|---|---|---|
1001 | oso | sharma | 4001 | Calle 22 | Nueva Delhi | 20000 |
1002 | bulbul | roy | 4002 | Calle 120 | Nueva Delhi | 38000 |
1004 | Saurabh | roy | 4001 | Calle 221 | Bombay | 45000 |
1005 | Shivani | Singhania | 4001 | Calle 501 | Calcuta | 42000 |
1006 | avinash | sharma | 4002 | Calle 12 | Delhi | 28000 |
1007 | sham | Besas | 4003 | Calle 202 | Lucknow | 35000 |
La siguiente consulta muestra los registros del departamento de la tabla Department_Info:
SELECT * FROM Department_Info;
La siguiente consulta utiliza el operador IN con una subconsulta:
SELECT * FROM Faculty_Info WHERE Faculty_Dept_Id IN ( Select Dept_Id FROM Department_Info WHERE Head_Id >= 1007);
Esta consulta muestra el registro de aquellas facultades cuya tabla Dept_ID de Faculty_Info coincide con la tabla Dept_Id de Department_Info.
Producción:
Id_facultad | Facultad_primer_nombre | Facultad_Apellido | ID_departamento_facultad | Dirección_facultad | Facultad_Ciudad | Facultad_Salario |
---|---|---|---|---|---|---|
1002 | bulbul | roy | 4002 | Calle 120 | Nueva Delhi | 38000 |
1006 | avinash | sharma | 4002 | calle 12 | Delhi | 28000 |
1007 | sham | Besas | 4003 | Calle 202 | Lucknow | 35000 |
¿Qué NO está EN SQL?
NOT IN es otro operador en el lenguaje de consulta estructurado, que es justo lo opuesto al operador SQL IN. Le permite acceder a esos valores de la tabla, que no pasan entre paréntesis del operador IN.
El operador NOT IN se puede utilizar en las consultas SQL INSERTAR, ACTUALIZAR, SELECCIONAR y ELIMINAR.
Sintaxis del operador NOT IN:
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ......, Column_Name_N FROM Table_Name WHERE Column_Name NOT IN (Value_1, Value_2, Value_3, ......., Value_N);
Si desea utilizar el operador NOT IN en las declaraciones de SQL, debe seguir los pasos indicados en la misma secuencia:
- Crear una base de datos en el sistema SQL.
- Cree la nueva tabla en la base de datos.
- Insertar los datos en la tabla.
- Ver los datos insertados
- Utilice el operador NOT IN para ver los datos.
Ahora, vamos a explicar brevemente cada paso uno por uno con el mejor ejemplo de SQL:
Paso 1: cree la nueva base de datos simple
amontonar ordenar
La siguiente consulta crea el nuevo Industria_civil Base de datos en servidor SQL:
CREATE Database Industry;
Paso 2: crea la nueva tabla
La siguiente consulta crea el Información_trabajador mesa en el Industria_civil Base de datos:
CREATE TABLE Worker_Info ( Worker_ID INT NOT NULL PRIMARY KEY, Worker_Name VARCHAR (100), Worker_Gender Varchar(20), Worker_Age INT NOT NULL DEFAULT 18, Worker_Address Varchar (80), Worker_Salary INT NOT NULL );
Paso 3: inserte los valores
Las siguientes consultas INSERT insertan los registros de los trabajadores en la tabla Worker_Info:
INSERT INTO Worker_Info (Worker_ID, Worker_Name, Worker_Gender, Worker_Age, Worker_Address, Worker_Salary) VALUES (1001, Arush, Male, Agra, 35000); INSERT INTO Worker_Info (Worker_ID, Worker_Name, Worker_Gender, Worker_Age, Worker_Address, Worker_Salary) VALUES (1002, Bulbul, Female, Lucknow, 42000); INSERT INTO Worker_Info (Worker_ID, Worker_Name, Worker_Gender, Worker_Age, Worker_Address, Worker_Salary) VALUES (1004, Saurabh, Male, 20, Lucknow, 45000); INSERT INTO Worker_Info (Worker_ID, Worker_Name, Worker_Gender, Worker_Age, Worker_Address, Worker_Salary) VALUES (1005, Shivani, Female, Agra, 28000); INSERT INTO Worker_Info (Worker_ID, Worker_Name, Worker_Gender, Worker_Age, Worker_Address, Worker_Salary) VALUES (1006, Avinash, Male, 22, Delhi, 38000); INSERT INTO Worker_Info (Worker_ID, Worker_Name, Worker_Gender, Worker_Age, Worker_Address, Worker_Salary) VALUES (1007, Shyam, Male, Banglore, 20000);
Paso 4: ver los datos de la tabla
La siguiente consulta muestra los datos de la tabla Worker_Info.
SELECT * FROM Worker_Info;
ID_trabajador | Nombre_Trabajador | Trabajador_Género | Edad_del_trabajador | Dirección_trabajador | Trabajador_salario |
---|---|---|---|---|---|
1001 | oso | Masculino | 18 | Agra | 35000 |
1002 | bulbul | Femenino | 18 | Lucknow | 42000 |
1004 | Saurabh | Masculino | 20 | Lucknow | 45000 |
1005 | Shivani | Femenino | 18 | Agra | 28000 |
1006 | avinash | Masculino | 22 | Delhi | 38000 |
1007 | sham | Masculino | 18 | Bangalore | 20000 |
Paso 4: Utilice el operador NOT IN
La siguiente consulta utiliza el operador NOT IN con datos numéricos:
SELECT * FROM Worker_Info WHERE Worker_salary NOT IN (35000, 28000, 38000);
Esta consulta SELECT muestra todos aquellos trabajadores de la salida cuyo salario no se pasa en el operador NOT IN.
El resultado de la afirmación anterior se muestra en la siguiente tabla:
ID_trabajador | Nombre_Trabajador | Trabajador_Género | Edad_del_trabajador | Dirección_trabajador | Trabajador_salario |
---|---|---|---|---|---|
1002 | bulbul | Femenino | 18 | Lucknow | 42000 |
1004 | Saurabh | Masculino | 20 | Lucknow | 45000 |
1007 | sham | Masculino | 18 | Bangalore | 20000 |
La siguiente consulta utiliza el operador lógico NOT IN con valores de caracteres o texto:
SELECT * FROM Worker_Info WHERE Worker_Address NOT IN (Lucknow, Delhi);
Esta consulta muestra el registro de todos aquellos Trabajadores cuya dirección no se pasa en el operador NOT IN.
Producción:
ID_trabajador | Nombre_Trabajador | Trabajador_Género | Edad_del_trabajador | Dirección_trabajador | Trabajador_salario |
---|---|---|---|---|---|
1001 | oso | Masculino | 18 | Agra | 35000 |
1005 | Shivani | Femenino | 18 | Agra | 28000 |
1007 | sham | Masculino | 18 | Bangalore | 20000 |