DÍA 08Fundamentos y filtros · SQL para Análisis de Datos

Agrupa filtros para expresar preguntas con varias opciones y rangos.

Día 8 18 minInicial

Combinar condiciones con AND, OR e IN

Objetivos

Al terminar podrás combinar rangos y listas sin depender de precedencias implícitas.

Concepto

AND exige que ambas condiciones sean verdaderas; OR acepta una u otra. Cuando una pregunta mezcla ambos operadores, usa paréntesis para mostrar qué condiciones pertenecen al mismo grupo.

BETWEEN incluye sus dos límites. IN compara una columna con una lista de valores. La consulta del ejemplo elige pagos dentro de un rango o menores de uno, y luego limita el conjunto a tres identificadores de cliente.

Ejemplo

SELECT payment_id, customer_id, amount
FROM payment
WHERE (amount BETWEEN 5.00 AND 10.00 OR amount < 1.00)
  AND customer_id IN (1, 2, 3)
ORDER BY amount DESC, payment_id ASC
LIMIT 10;

Los paréntesis hacen que la lista de clientes se aplique a las dos opciones de importe. BETWEEN 5.00 AND 10.00 incluye cinco y diez.

Práctica guiada

  1. Quita los paréntesis y explica qué operador se evalúa primero.
  2. Cambia IN (1, 2, 3) por dos identificadores y compara el filtro.
  3. Cambia BETWEEN a amount >= 5.00 AND amount < 10.00; nota que el límite superior ahora queda excluido.

Reto

Selecciona pagos de dos clientes que tengan un importe entre uno y cinco, inclusive. Devuelve identificador del pago, cliente e importe; ordena por cliente y fecha. Explica cómo los paréntesis aclaran la relación entre AND y OR.

Quiz

¿Qué evita el grupo (A OR B) AND C escrito con paréntesis?

  • A. Que C tenga que cumplirse junto con una de las opciones A o B.
  • B. Que el servidor lea las columnas del SELECT.
  • C. Que BETWEEN incluya sus extremos.

Respuesta: A. Los paréntesis hacen explícito qué opciones se agrupan antes de aplicar C.

Comprobación

Ya controlas listas y rangos. La siguiente lección combina búsquedas LIKE con comprobaciones correctas de NULL.

TU PROGRESO

Cargando estado…