Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Filtración de datos por rango Fundamentos de SQL

Hasta ahora aprendimos a filtrar datos con condiciones como > y <. Por ejemplo, podemos mostrar usuarios creados entre enero y febrero de 2022:

SELECT id, first_name, last_name, email
FROM users
WHERE created_at > '2022-01-01' AND created_at < '2022-02-01';

🔵 Abrir en DB Fiddle

Funciona, pero hay un problema: tenemos que repetir el nombre del campo dos veces (created_at) y recordar qué operador usar (> o <).

Por suerte, SQL tiene una forma más simple: el operador BETWEEN.

Cómo filtrar por rango

BETWEEN hace lo mismo que dos condiciones con AND, pero se lee mucho mejor. Por ejemplo, para ver a los usuarios con fecha de nacimiento entre el 1 de enero y el 1 de febrero de 2022:

SELECT *
FROM users
WHERE birthday BETWEEN '2022-01-01' AND '2022-02-01';

🔵 Abrir en DB Fiddle

📘 Esta consulta incluye los valores extremos (2022-01-01 y 2022-02-01).

Sin BETWEEN (>, <) Con BETWEEN
Excluye los límites Incluye los límites

Primera consulta: los valores extremos no están incluidos en el rango

Rango

Segunda consulta: los valores extremos sí están incluidos

Rango

Equivalente con operadores

Estas dos consultas son exactamente iguales:

WHERE birthday BETWEEN '2022-01-01' AND '2022-02-01';

WHERE birthday >= '2022-01-01' AND birthday <= '2022-02-01';

🔵 Abrir en DB Fiddle 🔵 Abrir en DB Fiddle

Excluir un rango

Si quieres lo contrario —mostrar solo los registros fuera del rango— usa NOT BETWEEN:

SELECT *
FROM users
WHERE birthday NOT BETWEEN '2022-01-01' AND '2022-02-01';

🔵 Abrir en DB Fiddle

💬 Esta consulta devuelve a los usuarios nacidos antes del 1 de enero o después del 1 de febrero de 2022.

Selección excluyendo el rango

También funciona con números

BETWEEN no es solo para fechas. También sirve con valores numéricos:

SELECT id, first_name, last_name, email
FROM users
WHERE id BETWEEN 15 AND 23;

🔵 Abrir en DB Fiddle

✅ Mostrará los usuarios con ID del 15 al 23, incluyendo ambos.


Resumen

  • BETWEEN simplifica el filtrado por rango.
  • Incluye los valores extremos (inicio y fin).
  • Se puede usar tanto con fechas como con números.
  • Usa NOT BETWEEN para excluir un rango.

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY