SQL BETWEEN: leer valores en un rango definido
El operador SQL BETWEEN se utiliza para establecer un rango de valores para una nueva salida. Funciona con números, datos y textos.
¿Qué es SQL BETWEEN?
Si quieres utilizar el lenguaje de consulta estructurado dentro de una base de datos para mostrar aquellas entradas que están dentro de un rango definido de valores, el operador SQL BETWEEN es la mejor opción. No solo se aplica a valores numéricos, sino que también funciona con fechas o incluso entradas de texto. Además, es inclusivo, por lo que tanto el primero como el último registro que limitan el intervalo están incluidos en la selección. SQL BETWEEN se integra en una condición WHERE y se utiliza con los comandos SQL DELETE, INSERT, SELECT y UPDATE.
- Ancho de banda de hasta 1 Gb/s y tráfico ilimitado
- Almacenamiento SSD NVMe ultrarrápido
- Incluye: edición Plesk Web Host
Sintaxis y funcionamiento
Veamos más de cerca la combinación de SQL BETWEEN con el comando SELECT y la condición WHERE. La sintaxis correspondiente tiene este aspecto:
SELECT columna1, columna2, …
FROM nombre_de_la_tabla
WHERE nombre_de_la_columna BETWEEN valor_inicial AND valor_final;
sqlAl especificar columna1
, columna2
, etc., se indica qué columnas deben mostrarse. Después, se proporciona el nombre de la tabla en la que se encuentran estas columnas. Con nombre_de_la_columna
, se especifica qué valores quieren considerarse y, luego, con BETWEEN valor_inicial AND valor_final
, se define el intervalo en el que deben estar los valores.
Ejemplo de uso del operador
Para explicar cómo funciona SQL BETWEEN, se va a crear una tabla de ejemplo llamada “Lista de clientes”. Va a contener el número de cliente, el apellido, la ubicación, la fecha del pedido, la cantidad de artículos del pedido y el importe total en euros que estos clientes han pagado. Las ubicaciones elegidas son Berlín, Hamburgo, Múnich y Passau.
Número de cliente | Apellido | Ubicación | Fecha de pedido | Nr. de Artículos | Importe total |
---|---|---|---|---|---|
1427 | Schmidt | Berlín | 1/13/2024 | 14 | 634 |
1377 | Schulz | Hamburgo | 1/19/2024 | 9 | 220 |
1212 | Peters | Hamburgo | 1/3/2024 | 15 | 619 |
1431 | Müller | Múnich | 1/19/2024 | 22 | 912 |
1118 | Becker | Passau | 2/1/2024 | 10 | 312 |
Para filtrar esta lista, se puede utilizar el operador. Por ejemplo, es posible mostrar solo los clientes que hayan invertido entre 300 y 700 euros en el periodo estimado. Este es el código:
SELECT número de cliente, apellido, ubicación, fecha de pedido, la cantidad de artículos, importe total
FROM Lista de clientes
WHERE Importe total BETWEEN 300 AND 700;
sqlEl resultado es el siguiente:
Número de cliente | Apellido | Ubicación | Fecha de pedido | Nr. de Artículos | Importe total |
---|---|---|---|---|---|
1427 | Schmidt | Berlín | 1/13/2024 | 14 | 634 |
1212 | Peters | Hamburgo | 1/3/2024 | 15 | 619 |
1118 | Becker | Passau | 2/1/2024 | 10 | 312 |
Palabras como intervalo de valores
SQL BETWEEN también funciona con palabras. Lo que importa en este caso son las letras iniciales de los valores de texto almacenados. En el siguiente ejemplo, solo se quieren considerar las entradas que se encuentren alfabéticamente entre los apellidos “Müller” y “Schmidt”. Esta es la sintaxis:
SELECT número de cliente, apellido, ubicación, fecha de pedido, la cantidad de artículos, importe total
FROM Lista de clientes
WHERE Apellido BETWEEN 'Müller' AND 'Schmidt'
ORDER BY Apellido;
sqlSe obtiene esta nueva tabla:
Número de cliente | Apellido | Ubicación | Fecha de pedido | Nr. de Artículos | Importe total |
---|---|---|---|---|---|
1431 | Müller | Múnich | 1/19/2024 | 22 | 912 |
1212 | Peters | Hamburgo | 1/3/2024 | 15 | 619 |
1427 | Schmidt | Berlín | 1/13/2024 | 14 | 634 |
Se consideran las entradas “Müller” y “Schmidt”, ya que el operador es inclusivo. Mediante la instrucción ORDER BY Apellido, se solicita una salida en orden alfabético por apellido.
Seleccionar por fecha
Si quieres ver solo los pedidos que se procesaron dentro de un período de tiempo específico, también puedes hacerlo con SQL BETWEEN. En el siguiente ejemplo, se filtra la lista de clientes por pedidos entre el 10 y el 31 de enero de 2024. Esta es la sintaxis:
SELECT número de cliente, apellido, ubicación, fecha de pedido, la cantidad de artículos, importe total
FROM Lista de clientes
WHERE Fecha de pedido BETWEEN '1/10/2024' AND '1/31/2024';
sqlSe obtiene la siguiente tabla:
Número de cliente | Apellido | Ubicación | Fecha de pedido | Nr. de Artículos | Importe total |
---|---|---|---|---|---|
1427 | Schmidt | Berlín | 1/13/2024 | 14 | 634 |
1377 | Schulz | Hamburgo | 1/19/2024 | 9 | 220 |
1431 | Müller | Múnich | 1/19/2024 | 22 | 912 |
Operadores similares a SQL BETWEEN
También puedes mostrar solo los resultados que están fuera del intervalo definido. Para ello, debes utilizar NOT BETWEEN y el procedimiento es muy similar. Esto es lo que hay que escribir si solo queremos mostrar a los clientes que han gastado menos de 300 euros o más de 700 euros:
SELECT número de cliente, apellido, ubicación, fecha de pedido, la cantidad de artículos, importe total
FROM Lista de clientes
WHERE Importe total NOT BETWEEN 300 AND 700;
sqlEl resultado solo contiene dos entradas:
Número de cliente | Apellido | Ubicación | Fecha de pedido | Nr. de Artículos | Importe total |
---|---|---|---|---|---|
1377 | Schulz | Hamburgo | 1/19/2024 | 9 | 220 |
1431 | Müller | Múnich | 1/19/2024 | 22 | 912 |
Un hosting adaptado a tus necesidades: con el SQL-Server-Hosting de IONOS no solo podrás elegir entre MSSQL, MySQL o MariaDB, sino que también obtienes un rendimiento insuperable y la posibilidad de recibir asesoramiento personalizado.