DevPath · Aprende a programar ESPTEN

Filtrado avanzado

Operadores lógicos y de comparación

Operadores de comparación

Dentro de WHERE comparas valores con estos operadores:

Operador Significado
= igual
<> distinto
< menor que
<= menor o igual
> mayor que
>= mayor o igual
SELECT nombre, precio FROM productos WHERE precio >= 100;
SELECT nombre FROM productos WHERE categoria <> 'audio';

Operadores lógicos: AND, OR, NOT

Combinan varias condiciones en un mismo WHERE:

-- Periféricos que además cuestan menos de 30
SELECT * FROM productos
WHERE categoria = 'perifericos' AND precio < 30;

-- Productos de audio o de pantallas
SELECT * FROM productos
WHERE categoria = 'audio' OR categoria = 'pantallas';

-- Todo lo que NO sea audio
SELECT * FROM productos
WHERE NOT categoria = 'audio';

Precedencia y paréntesis

AND tiene más prioridad que OR (se evalúa antes). Cuando mezclas los dos, usa paréntesis para dejar claro el agrupamiento y evitar sorpresas:

-- Sin paréntesis, AND "se pega" primero:
--   categoria='audio' OR (categoria='pantallas' AND precio < 200)
SELECT * FROM productos
WHERE categoria = 'audio' OR categoria = 'pantallas' AND precio < 200;

-- Con paréntesis controlas tú el orden:
SELECT * FROM productos
WHERE (categoria = 'audio' OR categoria = 'pantallas') AND precio < 200;

Regla práctica: en cuanto mezcles AND y OR, pon paréntesis. La consulta queda más legible y haces explícita tu intención.

Pon esto en práctica

DevPath es un curso práctico: aquí lees la teoría; en la app la pones en práctica con ejercicios que se ejecutan de verdad, sin conexión.

Empezar gratis en la app →
IN, BETWEEN, LIKE e IS NULL →