¿Cómo seleccionar un grupo de filas que coincidan con todos los elementos de una lista en SQL Server?

En este artículo, veremos cómo seleccionar un grupo de filas que coincidan con todos los elementos de una lista en SQL Server.

Podemos realizar la función anterior por dos métodos. Esos son:

  • Usando el operador IN
  • AL realizar JOIN usando el método STRING_SPLIT

Operador IN : Le permite especificar una lista de valores en una cláusula WHERE.

STRING_SPLIT() : esta función se puede usar para dividir una expresión de caracteres usando un separador específico como coma(‘,’), etc.

Para la demostración, siga los siguientes pasos:

Paso 1: Crear una base de datos

La base de datos se puede crear usando el comando CREAR.

Consulta:

CREATE DATABASE geeks;

Paso 2 : Usar una base de datos

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

Consulta:

USE geeks;

Paso 3:  definición de la tabla

Tenemos la siguiente demo_table en la base de datos de nuestro geek.

Consulta:

CREATE TABLE demo_table(
NAME VARCHAR(20),
AGE INT,
CITY VARCHAR(20) );

Paso 4: Insertar datos en una tabla

Consulta:

INSERT INTO demo_table VALUES
('ROMY KUMARI', 22, 'NEW DELHI'),
('PUSHKAR JHA',23, 'NEW DELHI'),
('RINKLE ARORA',23, 'PUNJAB'),
('AKASH GUPTA', 23, 'UTTAR PRADESH'),
('AKANKSHA GUPTA',22, 'PUNJAB'),
('SUJATA JHA', 30,'PATNA')
('PREETI GIRI', 26,'BANGLORE'),
('PREM GUPTA',31,'PUNE');

Paso 5: Ver datos de la tabla

Consulta:

SELECT * FROM demo_table;

Producción:

Paso 6: seleccione un grupo de filas que coincidan con los elementos de la lista.

Para fines de demostración, supongamos que tenemos una lista que tiene los siguientes elementos: (21, 45, 23, 31). Seleccionaremos el grupo de filas cuyos valores en la columna EDAD coincidan con los elementos de la lista.

Método 1: Usar el operador IN

Sintaxis:

SELECT *FROM table_name WHERE column_name IN (list);

Consulta:

SELECT * FROM demo_table WHERE AGE IN (21, 45, 23, 31);

Producción:

Método 2: Realizar JOIN usando la función STRING_SPLIT() 

Sintaxis:

SELECT * FROM table_name
JOIN STRING_SPLIT('list', 'separator')
ON value = column_name;

Consulta:

SELECT * FROM demo_table
JOIN STRING_SPLIT('21, 45, 23, 31', ',')
ON value = AGE;

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 *