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

En este artículo, veremos el uso del operador IN con una subconsulta en SQL. El operador IN se utiliza para comparar los valores de la columna con la lista de valores. La lista de valores se define después de la consulta IN en SQL. 

Si no conocemos la lista exacta de valores a comparar, podemos generar la lista de valores usando la consulta. 

Sintaxis:

Sin subconsulta:

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);

con subconsulta

SELECT column_name(s)
FROM table_name
WHERE column_name IN (SELECT statement);

Ahora, para la demostración, siga los pasos a continuación:

Paso 1: Crear una base de datos

podemos usar el siguiente comando para crear una base de datos llamada geeks.

Consulta:

CREATE DATABASE geeks;

Paso 2: usar la base de datos

Use la siguiente instrucción SQL para cambiar el contexto de la base de datos a geeks:

USE geeks;

Paso 3: definición de la tabla

Tenemos la siguiente demo_table en la base de datos de nuestro geek. La demo_table tiene los datos de los alumnos con su edad y las notas obtenidas por ellos.

Consulta:

CREATE TABLE demo_table(
NAME VARCHAR(20),
AGE int,
GRADE VARCHAR(5));

Paso 4: Insertar datos en una tabla

Consulta:

INSERT INTO demo_table
VALUES ('Romy',22, 'A'),
('Roshini', 20, 'A'),
('Akanksha', 22, 'A'),
('Shalini',23,'B'),
('Sambhavi',21,'A'),
('Meenakshi',22,'C'),
('Nikhil',24,'B'),
('Manu',25,'B'),
('Rohit',24,'C'),
('Astha',23,'A'),
('Samiksha',23,'A');

Paso 5: Ver el contenido

Ejecute la siguiente consulta para ver el contenido de la tabla

SELECT * FROM demo_table;

Producción:

Paso 6: uso del operador In con una subconsulta

Para obtener los datos de los estudiantes cuyo nombre comienza con R.

Consulta:

SELECT * FROM demo_table
WHERE NAME IN  
(SELECT NAME FROM demo_table WHERE NAME LIKE 'R%') ;

Producción:

Para obtener los datos de los estudiantes cuya edad es mayor de 22 años.

Consulta:

SELECT * FROM demo_table
WHERE AGE IN  
(SELECT AGE FROM demo_table WHERE AGE>22) ;

Producción:

Publicación traducida automáticamente

Artículo escrito por romy421kumari 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 *