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