El operador BETWEEN en SQL
El operador
BETWEEN
en SQL selecciona filas cuyo valor cae dentro de un intervalo, con un límite inferior y uno superior. Funciona con números, textos y fechas.
El operador BETWEEN en SQL es una pieza habitual del flujo SQL: consultar, filtrar, agrupar o modificar datos. Cada ejemplo usa tablas de demostración para que puedas experimentar sin riesgo.
Cómo practicar: ejecuta la consulta tal cual, revisa columnas y tipos, luego cambia un filtro o un alias y vuelve a ejecutar.
El intervalo es inclusivo: los valores de los extremos cuentan. Un precio
BETWEEN 5 AND 15
incluye productos de exactamente 5 € y de exactamente 15 €. Es equivalente a escribir
Precio >= 5 AND Precio <= 15
, pero
BETWEEN
suele leerse mejor cuando buscas un rango claro.
Con texto, SQL ordena alfabéticamente entre los dos límites; con números, compara magnitudes. En los ejemplos verás rangos de precios y de ventas por cliente en nuestra base de datos de demostración.
Sintaxis del operador BETWEEN
Plantilla BETWEEN
SELECT nombre_columna(s)
FROM nombre_tabla
WHERE nombre_columna BETWEEN valor1 AND valor2;
BETWEEN con números en SQL
Productos con precio entre 5 y 15 euros. Los valores 5 y 15 forman parte del resultado:
Resultado: productos con precio entre 5 y 15 € (por ejemplo, Té verde a 8,00 €).
| Nombre_Producto | Precio |
|---|---|
| Té verde | 8.00 |
| Salsa de tomate | 3.20 |
| Galletas de avena | 4.50 |
| Queso manchego | 15.00 |
| … 1 producto más en rango (4 en total) | |
Base de datos demo Productos para BETWEEN
Observa qué columnas devuelve la consulta y cómo se nombran con AS. Ese alias es lo que verás en la cuadrícula del editor.
| ID_Producto | Nombre_Producto | Precio | Stock |
|---|---|---|---|
| 1 | Café expreso | 12.50 | 120 |
| 2 | Té verde | 8.00 | 200 |
| 3 | Salsa de tomate | 3.20 | 340 |
| 4 | Galletas de avena | 4.50 | 180 |
| 5 | Queso manchego | 15.00 | 90 |
| 6 | Arroz integral | 2.80 | 500 |
| 7 | Jamón serrano | 22.00 | 60 |
| 8 | Manzanas Golden | 1.90 | 400 |
| 9 | Salmón fresco | 18.50 | 45 |
| 10 | Aceite de oliva | 9.90 | 150 |
NOT BETWEEN en SQL
NOT BETWEEN
devuelve lo que queda fuera del intervalo:
Ejemplo BETWEEN con IN (referencia)
Ejemplo ilustrativo de sintaxis; no hay ejercicio en el editor para esta combinación concreta.
Puedes combinar
BETWEEN
con otras condiciones (aquí, precio en rango y categoría fuera de una lista):
Ejemplo
SELECT *
FROM Productos
WHERE (Precio BETWEEN 5 AND 15)
AND ID_Categoria NOT IN (1, 2, 3);
Ejemplo BETWEEN con valores de texto (referencia)
Los nombres de producto coinciden con la base de datos de demostración del editor.
Con texto, el rango sigue el orden alfabético entre Arroz integral y Queso manchego:
Ejemplo
SELECT *
FROM Productos
WHERE Nombre_Producto BETWEEN 'Arroz integral' AND 'Queso manchego'
ORDER BY Nombre_Producto;
NOT BETWEEN con valores de texto
Productos cuyo nombre queda fuera de ese intervalo alfabético:
Ejemplo
SELECT *
FROM Productos
WHERE Nombre_Producto NOT BETWEEN 'Arroz integral' AND 'Queso manchego'
ORDER BY Nombre_Producto;
BETWEEN en la columna N_Ventas
El mismo operador sirve para cualquier columna numérica. Aquí, clientes con entre 50 y 100 ventas:
Base de datos demo Clientes para BETWEEN
La sintaxis indica el orden de argumentos y palabras clave. Copia la plantilla y sustituye nombres de columnas o literales entre comillas simples.
| ID_Cliente | Nombre_Cliente | Ciudad | Pais | N_Ventas |
|---|---|---|---|---|
| 1 | Ana García | Madrid | España | 120 |
| 2 | Luis Pérez | Barcelona | España | 85 |
| 3 | María López | Valencia | España | 200 |
| 4 | Carlos Ruiz | Madrid | España | 45 |
| 5 | Elena Torres | Sevilla | España | 67 |
| 6 | John Smith | London | UK | 150 |
| 7 | Marie Dubois | Paris | Francia | 92 |
| 8 | Hans Müller | Berlin | Alemania | 78 |
| 9 | Luca Rossi | Roma | Italia | 110 |
| 10 | Sofia Anders | Stockholm | Suecia | 55 |
Ventas entre 50 y 100
SELECT Nombre_Cliente, N_Ventas
FROM Clientes
WHERE N_Ventas BETWEEN 50 AND 100;
Resultado: clientes con entre 50 y 100 ventas (por ejemplo, Luis Pérez con 85).
| Nombre_Cliente | N_Ventas |
|---|---|
| Luis Pérez | 85 |
| Elena Torres | 67 |
| Marie Dubois | 92 |
| Hans Müller | 78 |
| Sofia Anders | 55 |
Resumen
BETWEENselecciona un rango inclusivo (incluye extremos).NOT BETWEENexcluye ese rango.- Funciona con números, texto y fechas.
- Combínalo con
ANDy otras condiciones.
Comprueba lo aprendido
Responde 2–3 preguntas sobre esta lección. Verás ✓ en verde si aciertas o ✗ en rojo si fallas.