El operador IN en SQL permite especificar múltiples valores en la cláusula WHERE , puede ayudarlo a probar fácilmente si una expresión coincide con algún valor en la lista de valores. El uso del operador IN reduce la necesidad de múltiples condiciones OR en declaraciones como SELECCIONAR, INSERTAR, ACTUALIZAR y ELIMINAR.
Subconsultas:
Las consultas SQL donde una o más sentencias SELECT están anidadas con la cláusula WHERE de otra sentencia SELECT se denominan subconsulta . La primera declaración de este tipo de consulta se denomina consulta externa , mientras que la interna se denomina consulta interna . En la ejecución de tales consultas, la consulta interna se evaluará primero y la consulta externa recibe el valor de la consulta interna.
Ahora, crearemos un esquema para nuestra base de datos y lo llamaremos geeks para geeks. Después de eso, crearemos una tabla dentro de ella con el nombre geeks_data y usaremos el operador IN con una subconsulta.
Paso 1: Crear una base de datos
Para crear una base de datos, necesitamos usar el operador CREAR .
Consulta :
CREATE DATABASE geeksforgeeks;
Producción:
Paso 2: crea una tabla dentro de la base de datos
En este paso, crearemos dos tablas geeks_data y geek_dept dentro de la base de datos geeks for geeks.
- Creando la tabla geeks_data:
Consulta :
CREATE TABLE geeks_data(id INT, first_name VARCHAR(255), last_name VARCHAR(255), dept VARCHAR(255), PRIMARY KEY(id));
- Creando la tabla geeks_dept:
Consulta:
CREATE TABLE geeks_dept(id INT, dept_name VARCHAR(255), PRIMARY KEY(id));
Paso 3: Insertar datos en la tabla
Para insertar los datos dentro de la base de datos, necesitamos usar el operador INSERT. Primero, lo insertaremos en la tabla geeks_data.
Consulta:
INSERT INTO geeks_data VALUES (1, 'Chandan', 'Mishra', 'Mechanical'), (2, 'Abhinav', 'Singh', 'Electronics'), (3, 'Utkarsh', 'Raghuvanshi', 'Computer Science');
Producción:
Ahora insertaremos datos para la tabla geeks_dept.
INSERT INTO geeks_dept VALUES (1, 'Computer Science'), (2, 'Electronics'), (3, 'Computer Science'), (4, 'Mechanical');
Producción:
Paso 4: ejecutar el operador IN dentro de una subconsulta
En este paso, intentaremos encontrar los datos del geek de la tabla geeks_data, aquellos que son del departamento de informática con la ayuda de la tabla geeks_dept usando una subconsulta.
Consulta:
SELECT first_name, last_name FROM geeks_data WHERE dept IN (SELECT dept_name FROM geeks_dept WHERE id = 1);
Obtendremos el nombre y apellido de los geeks que son del departamento de informática.
Producción: