El operador SQL BETWEEN se utiliza para es­ta­ble­cer 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 es­tru­c­tu­ra­do 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.

Se­r­vi­do­res virtuales (VPS)
VPS rentables en se­r­vi­do­res Dell En­te­r­pri­se
  • 1 Gb/s de ancho de banda y tráfico ilimitado
  • 99,99 % de tiempo de actividad y ce­r­ti­fi­ca­ción ISO
  • Soporte 24/7 ga­la­r­do­na­do y asesor personal

Sintaxis y fu­n­cio­na­mie­n­to

Veamos más de cerca la co­m­bi­na­ción de SQL BETWEEN con el comando SELECT y la condición WHERE. La sintaxis co­rre­s­po­n­die­n­te tiene este aspecto:

SELECT columna1, columna2, …
FROM nombre_de_la_tabla
WHERE nombre_de_la_columna BETWEEN valor_inicial AND valor_final;
sql

Al es­pe­ci­fi­car columna1, columna2, etc., se indica qué columnas deben mostrarse. Después, se pro­po­r­cio­na el nombre de la tabla en la que se en­cue­n­tran estas columnas. Con nombre_de_la_columna, se es­pe­ci­fi­ca qué valores quieren co­n­si­de­rar­se 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 ubi­ca­cio­nes 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;
sql

El 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 al­ma­ce­na­dos. En el siguiente ejemplo, solo se quieren co­n­si­de­rar las entradas que se en­cue­n­tren al­fa­bé­ti­ca­me­n­te 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;
sql

Se 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 co­n­si­de­ran las entradas “Müller” y “Schmidt”, ya que el operador es inclusivo. Mediante la in­s­tru­c­ción ORDER BY Apellido, se solicita una salida en orden al­fa­bé­ti­co por apellido.

Se­le­c­cio­nar por fecha

Si quieres ver solo los pedidos que se pro­ce­sa­ron dentro de un período de tiempo es­pe­cí­fi­co, 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';
sql

Se 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

Ope­ra­do­res similares a SQL BETWEEN

También puedes mostrar solo los re­su­l­ta­dos que están fuera del intervalo definido. Para ello, debes utilizar NOT BETWEEN y el pro­ce­di­mie­n­to 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;
sql

El 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
Consejo

Un hosting adaptado a tus ne­ce­si­da­des: con el SQL-Server-Hosting de IONOS no solo podrás elegir entre MSSQL, MySQL o MariaDB, sino que también obtienes un re­n­di­mie­n­to in­su­pe­ra­ble y la po­si­bi­li­dad de recibir ase­so­ra­mie­n­to pe­r­so­na­li­za­do.

Ir al menú principal