Tema SQL
IN y BETWEEN
Comprobar pertenencia a lista o rango inclusivo.
Descripción
IN (lista o subconsulta) y BETWEEN valor1 AND valor2 simplifican condiciones repetidas de igualdad o rangos (manual §12.1–12.2).
Estructura general
Forma habitual de la sentencia: orden de cláusulas, qué parte filtra, agrupa o proyecta columnas, y qué devuelve el motor. Cópiala como plantilla y sustituye nombres por tus tablas reales.
WHERE columna IN (v1, v2, v3)
WHERE columna BETWEEN a AND b -- inclusivo en ambos extremos
Componentes
Cada componente tiene un papel concreto en la ejecución lógica de la sentencia. Léelos en orden: así entiendes qué puedes omitir, qué es obligatorio y qué expresiones son válidas en cada sitio según tu motor.
- IN
- Equivalente a OR de igualdades; con subconsulta debe haber una columna compatible.
- BETWEEN
- Incluye los extremos; para fechas y números.
Ejemplos
Ejemplo 1
SELECT * FROM ventas
WHERE total BETWEEN 100 AND 500;
SELECT * FROM productos
WHERE categoria_id IN (1, 4, 7);
Ejemplo 2
SELECT * FROM eventos WHERE fecha BETWEEN CURRENT_DATE - 7 AND CURRENT_DATE;
Los ejemplos son ilustrativos. En producción usa consultas parametrizadas (prepared statements), revisa índices y aplica el principio de menor privilegio en cuentas de base de datos.