SQL – SELECCIONAR EN

El operador IN es un operador de pertenencia que devuelve valores que coinciden con los valores de una lista o subconsulta. Usando este operador podemos especificar múltiples valores en una Cláusula WHERE. Este operador compara un valor con un conjunto de valores y devuelve verdadero si el valor pertenece a ese conjunto dado, de lo contrario devuelve falso. Es una forma abreviada de múltiples condiciones OR .

Sintaxis 1 (LISTA): 

SELECCIONE columna1, columna2….columnaN

DESDE table_name

WHERE column_name IN (val-1, val-2,…val-N);

Sintaxis 2 (SUBCONSULTA): 

SELECCIONE columna1, columna2….columnaN

DESDE table_name1

DONDE nombre_columna EN 

(SELECCIONE column_name

DESDE table_name2);

Intentemos esto paso a paso en Microsoft SQL Server:

Creación de la base de datos:

REGISTRO

CREATE DATABASE RECORD;

Cambiar a base de datos:

Use la siguiente instrucción SQL para cambiar la base de datos a REGISTRO:

USE RECORD;

Creando tabla:

Ahora creamos una tabla llamada CURSO en nuestra base de datos de REGISTRO:

CREATE TABLE COURSE(
course_id INT,
course_name VARCHAR(20),
duration_of_course INT,
PRIMARY KEY(course_id)
); 

Ahora nuevamente creamos otra tabla llamada ESTUDIANTE en nuestra base de datos de REGISTRO:

CREATE TABLE STUDENT(
roll_no INT,
student_name VARCHAR(20),
course_id INT,
PRIMARY KEY(roll_no)
); 

Insertando los datos en las tablas:

Use la siguiente declaración para insertar datos en la tabla CURSO:

INSERT INTO COURSE(course_id, course_name, duration_of_course) VALUES(1, 'BCA', 3);
INSERT INTO COURSE(course_id, course_name, duration_of_course) VALUES(2, 'MCA', 3);
INSERT INTO COURSE(course_id, course_name, duration_of_course) VALUES(3, 'B.E.', 4);
INSERT INTO COURSE(course_id, course_name, duration_of_course) VALUES(4, 'M.E.', 2);
INSERT INTO COURSE(course_id, course_name, duration_of_course) VALUES(5, 'Integrated BE and ME', 5);

Nuevamente, usando la declaración a continuación, insertamos datos en la tabla ESTUDIANTE:

INSERT INTO STUDENT(roll_no, student_name, course_id) VALUES(1, 'ANDREW', 1);
INSERT INTO STUDENT(roll_no, student_name, course_id) VALUES(2, 'BOB', 1);
INSERT INTO STUDENT(roll_no, student_name, course_id) VALUES(3, 'CHARLES', 1);
INSERT INTO STUDENT(roll_no, student_name, course_id) VALUES(4, 'DAIZY', 3);
INSERT INTO STUDENT(roll_no, student_name, course_id) VALUES(5, 'EMMANUEL', 2);
INSERT INTO STUDENT(roll_no, student_name, course_id) VALUES(6, 'FAIZAL', 2);
INSERT INTO STUDENT(roll_no, student_name, course_id) VALUES(7, 'GEORGE', 4);
INSERT INTO STUDENT(roll_no, student_name, course_id) VALUES(8, 'HARSH', 5);
INSERT INTO STUDENT(roll_no, student_name, course_id) VALUES(9, 'ISHA', 2);
INSERT INTO STUDENT(roll_no, student_name, course_id) VALUES(10, 'JULIAN', 2);
INSERT INTO STUDENT(roll_no, student_name, course_id) VALUES(11, 'KAILASH', 3);
INSERT INTO STUDENT(roll_no, student_name, course_id) VALUES(12, 'LAIBA', 5);
INSERT INTO STUDENT(roll_no, student_name, course_id) VALUES(13, 'MICHAEL', 3);

Visualización de los datos de las tablas:

Ahora, usando la siguiente declaración, mostramos el contenido de la tabla CURSO:

SELECT * FROM COURSE;

Nuevamente, usando la declaración a continuación, mostramos el contenido de la tabla ESTUDIANTE:

SELECT * FROM STUDENT;

Cláusula IN con la lista:

SELECT * FROM
STUDENT
WHERE course_id
IN (1, 2, 3);

Cláusula IN con la subconsulta:

SELECT * FROM
STUDENT
WHERE course_id
IN (SELECT course_id FROM
COURSE
WHERE duration_of_course = 3);

Publicación traducida automáticamente

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