¿Cómo usar el operador IN con una subconsulta?

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:

Figura: Crear base de datos 

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));

Figura: Crear una tabla geeks_data

  • Creando la tabla geeks_dept:

Consulta:

CREATE TABLE geeks_dept(id INT, 
                        dept_name VARCHAR(255),
                        PRIMARY KEY(id));

Figura: Crear una tabla geeks_dept

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');

Figura: Insertar valores en la tabla geeks_data

 Producción:

Figura: geeks_data

Ahora insertaremos datos para la tabla geeks_dept.

INSERT INTO geeks_dept VALUES (1, 'Computer Science'),
                              (2, 'Electronics'),
                              (3, 'Computer Science'),
                              (4, 'Mechanical');

Figura: Insertar datos en geeks_dept

Producción:

Figura: geeks_dept 

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:

Figura: Resultado del operador IN dentro de Subconsulta

Publicación traducida automáticamente

Artículo escrito por ankur035 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *