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:
AND: se cumplen ambas condiciones.OR: se cumple al menos una.NOT: niega una condición (la invierte).
-- 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
ANDyOR, pon paréntesis. La consulta queda más legible y haces explícita tu intención.