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