Skip to main content

Selección de datos dentro de rangos en SQL

Como usar el administrador de nombres en Excel - Capítulo 152 (Abril 2025)

Como usar el administrador de nombres en Excel - Capítulo 152 (Abril 2025)
Anonim

El lenguaje de consulta estructurado (SQL) ofrece a los usuarios de bases de datos la capacidad de crear consultas personalizadas para extraer información de las bases de datos. En un artículo anterior, exploramos la extracción de información de una base de datos mediante consultas SQL SELECT. Ampliemos esa discusión y exploremos cómo puede realizar consultas avanzadas para recuperar datos que coincidan con condiciones específicas.Consideremos un ejemplo basado en la base de datos de Northwind que se usa comúnmente, que a menudo se envía con productos de base de datos como un tutorial.

Aquí hay un extracto de la tabla de productos de la base de datos:

Tabla de productos
Identificación de productoNombre del productoIdentificación del proveedorCantidad por unidadPrecio unitarioUnidades en Stock
1Chai110 cajas x 20 bolsas18.0039
2Chang1Botellas de 24 a 12 onzas.19.0017
3Jarabe de anís112 botellas de 550 ml.10.0013
4Condimento Cajun del Chef Anton248 tarros de 6 oz22.0053
5Mezcla de Gumbo del Chef Anton236 cajas21.350
6Difusión Boysenberry de la abuela3Frascos de 12 a 8 onzas25.00120
7Peras secas orgánicas del tío Bob312 - 1 libra de paquetes.30.0015

Condiciones de límites simples

Las primeras restricciones que colocaremos en nuestra consulta implican condiciones de contorno simples. Podemos especificarlos en la cláusula WHERE de la consulta SELECT, utilizando declaraciones de condición simples construidas con operadores estándar, como <,>,> = y <=.

Primero, probemos una consulta simple que nos permita extraer una lista de todos los productos en la base de datos que tienen un Precio unitario de más de 20.00:

SELECCIONE Nombre del producto, UnidadPrecio DE productos DONDE Precio de la unidad> 20.00

Esto produce una lista de cuatro productos, como se muestra a continuación:

ProductoNombre UnidadPrecio ------- -------- Mezcla de Gumbo del Chef Anton 21.35 Condimento Cajun del Chef Anton 22.00 Granada Boysenberry de la abuela 25.00 Peras secas orgánicas del tío Bob 30.00

También podemos usar la cláusula WHERE con valores de cadena. Básicamente, esto equivale a los caracteres a los números, donde A representa el valor 1 y Z representa el valor 26. Por ejemplo, podríamos mostrar todos los productos cuyos nombres comiencen con U, V, W, X, Y o Z con la siguiente consulta:

SELECCIONE Nombre de producto DE PRODUCTOS DONDE Nombre de producto> = 'T'

Lo que produce el resultado:

Nombre del producto ------- Peras secas orgánicas del tío Bob

Expresando rangos utilizando límites

La cláusula WHERE también nos permite implementar una condición de rango en un valor mediante el uso de múltiples condiciones. Por ejemplo, si quisiéramos tomar nuestra consulta anterior y limitar los resultados a productos con precios entre 15.00 y 20.00, podríamos usar la siguiente consulta:

SELECCIONE Nombre del producto, UnidadPrecio DE productos DONDE Precio de la unidad> 15.00 Y Precio de la unidad <20.00

Esto produce el resultado que se muestra a continuación:

ProductoNombreUnidadPrecio ------- -------- Chai 18.00 Chang 19.00

Expresando gamas con ENTRE

SQL también proporciona una sintaxis BETWEEN de acceso directo que reduce la cantidad de condiciones que debemos incluir y hace que la consulta sea más legible. Por ejemplo, en lugar de usar las dos condiciones DÓNDE anteriores, podríamos expresar la misma consulta como:

SELECCIONE Nombre de producto, UnidadPrecio DE productos DONDE UnidadPrecio ENTRE 15.00 Y 20.00

Al igual que con nuestras otras cláusulas de condición, BETWEEN también funciona con valores de cadena. Si quisiéramos producir una lista de todos los países que comienzan con V, W o X, podríamos usar la consulta:

SELECCIONE Nombre de producto DE PRODUCTOS DONDE Nombre de producto ENTRE "A" y "D"

Lo que produce el resultado:

Nombre del producto ------- Jarabe de anís Chai Chang Chef Gumbo de Anton Mezcla Gumbo Chef Anton's Cajun Condimento

La cláusula WHERE es una parte poderosa del lenguaje SQL que le permite restringir los resultados a valores que se encuentran dentro de los rangos especificados. Es muy comúnmente usado para ayudar a expresar la lógica empresarial y debe ser parte del conjunto de herramientas de todos los profesionales de bases de datos.

A menudo es útil incorporar cláusulas comunes en un procedimiento almacenado para que sea accesible para aquellos que no tienen conocimientos de SQL.