Módulo 02 · lección 8
Paréntesis y precedencia de condiciones
La tarea: «electrónica o ropa, pero solo lo que cueste menos de 100 $». Sin paréntesis, la consulta devuelve inesperadamente los caros «Galaxy» y «ProBook». ¿Por qué?
Precedencia: AND es más fuerte que OR
Cuando una condición tiene AND y OR a la vez, el SGBD evalúa primero el AND y solo después el OR (AND tiene mayor precedencia). Muchas veces eso no es lo que queríamos decir:
-- NO es lo que esperas:
WHERE category = 'Home' OR category = 'Books' AND price < 50
se lee como Home OR (Books AND price < 50); es decir, todo Home pasa sin importar el precio (incluso el Espresso de 129 $).
Los paréntesis fijan el orden
Los paréntesis hacen explícita la intención:
WHERE (category = 'Home' OR category = 'Books') AND price < 50
Ahora la condición del precio se aplica a ambas categorías.
Regla: si mezclas AND y OR, pon paréntesis, aunque parezca evidente sin ellos.
Te toca
Necesitas los productos de «Electronics» o «Clothing» que además cuesten menos de 100 $. Muestra name, category y price. ¡No olvides los paréntesis!
Resumen
ANDse evalúa antes queOR.- Los paréntesis hacen explícita tu intención y evitan errores.