Puedes ejecutar cualquier consulta SQL en nuestra consola interactiva: Abrir consola SQL →
BETWEEN en SQL: filtra rangos de forma precisa
La cláusula BETWEEN permite filtrar valores dentro de un rango. Es ideal para trabajar con edades, precios, fechas y cualquier dato numérico o textual ordenable.
Tabla de contenidos
1. ¿Qué es BETWEEN?
BETWEEN selecciona valores dentro de un rango, incluyendo los límites.
SELECT * FROM usuarios
WHERE edad BETWEEN 20 AND 30;
2. BETWEEN con números
SELECT * FROM productos
WHERE precio BETWEEN 10 AND 50;
Devuelve productos cuyo precio esté entre 10 y 50 (incluidos).
3. BETWEEN con fechas
SELECT * FROM pedidos
WHERE fecha BETWEEN '2024-01-01' AND '2024-12-31';
Devuelve pedidos realizados durante el año 2024.
4. BETWEEN con texto
BETWEEN también funciona con texto, según orden alfabético.
SELECT * FROM usuarios
WHERE nombre BETWEEN 'Ana' AND 'Marta';
5. NOT BETWEEN
SELECT * FROM usuarios
WHERE edad NOT BETWEEN 18 AND 30;
6. Ejemplos prácticos
SELECT * FROM empleados WHERE salario BETWEEN 1500 AND 3000;
SELECT * FROM productos WHERE precio NOT BETWEEN 20 AND 40;
SELECT * FROM pedidos WHERE fecha BETWEEN '2024-05-01' AND '2024-05-31';
SELECT * FROM usuarios WHERE nombre BETWEEN 'A' AND 'F';
7. Ejercicios para practicar
- Filtra usuarios con edad entre 20 y 40.
- Filtra productos con precio entre 5 y 15.
- Filtra pedidos entre dos fechas.
- Filtra nombres entre “Carlos” y “Pedro”.
- Filtra usuarios cuya edad NO esté entre 18 y 30.
SELECT * FROM usuarios WHERE edad BETWEEN 20 AND 40;
SELECT * FROM productos WHERE precio BETWEEN 5 AND 15;
SELECT * FROM pedidos WHERE fecha BETWEEN '2024-01-01' AND '2024-12-31';
SELECT * FROM usuarios WHERE nombre BETWEEN 'Carlos' AND 'Pedro';
SELECT * FROM usuarios WHERE edad NOT BETWEEN 18 AND 30;
8. Mini‑proyecto: Filtrar ventas por rango de precios
CREATE TABLE ventas (
id INT PRIMARY KEY,
producto VARCHAR(50),
precio DECIMAL(10,2)
);
INSERT INTO ventas VALUES
(1, 'Camiseta', 19.99),
(2, 'Pantalón', 29.99),
(3, 'Auriculares', 49.99);
SELECT * FROM ventas
WHERE precio BETWEEN 20 AND 50;
9. Errores comunes
- Olvidar que BETWEEN incluye los límites.
- Usar BETWEEN con texto sin entender el orden alfabético.
- Confundir BETWEEN con IN.
- Usar BETWEEN en columnas no ordenables.
10. Preguntas frecuentes
¿BETWEEN incluye los valores límite?
Sí, siempre incluye ambos extremos.
¿BETWEEN funciona con texto?
Sí, según el orden alfabético.