Objetivo

Al finalizar esta lección podrás:

  • Combinar condiciones con AND y OR.
  • Entender la diferencia: AND exige todo, OR permite alternativas.
  • Usar paréntesis para controlar la lógica y la precedencia.

Operadores Lógicos

AND

AND significa “y”. Se deben cumplir todas las condiciones.

WHERE condicion1 AND condicion2

OR

OR significa “o”. Se cumple si se cumple al menos una condición.

WHERE condicion1 OR condicion2

Regla

Cuando mezclas AND y OR, usa paréntesis. Así te aseguras de obtener el resultado que realmente quieres.

En general, AND tiene prioridad sobre OR en muchas bases de datos, pero no te confíes: usa paréntesis.

Ejemplos

Ejemplo 1: AND (ambas condiciones)

Productos de Papelería con stock mayor a 50.

SELECT nombre, categoria, stock
FROM productos
WHERE categoria = 'Papelería'
  AND stock > 50;

Ejemplo 2: OR (una u otra condición)

Clientes de Quito o Guayaquil.

SELECT nombre, ciudad
FROM clientes
WHERE ciudad = 'Quito'
   OR ciudad = 'Guayaquil';

Ejemplo 3: Mezcla con paréntesis

Papelería que sea muy barata o tenga muchísimo stock.

SELECT nombre, categoria, precio, stock
FROM productos
WHERE categoria = 'Papelería'
  AND (precio < 1 OR stock > 100);

Aquí los paréntesis aseguran que el OR se evalúe como un bloque dentro del AND.

Ejercicios propuestos (con solución explicada)

Intenta resolver antes de abrir la solución.

Ejercicio 1

Lista productos de categoría 'Papelería' que tengan precio < 2.

Ver solución
SELECT nombre, categoria, precio
FROM productos
WHERE categoria = 'Papelería'
  AND precio < 2;

Explicación: deben cumplirse ambas condiciones (AND).

Ejercicio 2

Lista productos que sean de categoría 'Accesorio' o 'Electrónica'.

Ver solución
SELECT nombre, categoria
FROM productos
WHERE categoria = 'Accesorio'
   OR categoria = 'Electrónica';

Explicación: OR devuelve filas que cumplan cualquiera de las dos categorías.

Ejercicio 3

Lista productos de 'Papelería' que cumplan: (stock >= 100 o precio < 1).

Ver solución
SELECT nombre, categoria, precio, stock
FROM productos
WHERE categoria = 'Papelería'
  AND (stock >= 100 OR precio < 1);

Explicación: los paréntesis agrupan el OR dentro del AND.

Ejercicio 4

Lista clientes que sean de Quito o Cuenca.

Ver solución
SELECT nombre, ciudad
FROM clientes
WHERE ciudad = 'Quito'
   OR ciudad = 'Cuenca';

Explicación: OR sirve para alternativas.

Ejercicio 5

Lista productos con stock > 0 y que sean de categoría Papelería o Accesorio. (Usa paréntesis.)

Ver solución
SELECT nombre, categoria, stock
FROM productos
WHERE stock > 0
  AND (categoria = 'Papelería' OR categoria = 'Accesorio');

Explicación: primero exigimos stock > 0, luego permitimos dos categorías.

Errores comunes

  • ❌ Mezclar AND y OR sin paréntesis — ✅ usa paréntesis para controlar la lógica.
  • ❌ Esperar que OR “filtre menos” siempre — ✅ OR puede aumentar resultados.
  • ❌ No pensar en el objetivo — ✅ antes de escribir, di la condición en palabras.