Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como exatamente o uso de OR em uma instrução MySQL difere com/sem parênteses?


Isso ocorre porque OR tem menor precedência de operador do que E. Sempre que o banco de dados vê uma expressão como
A AND B OR C

o AND é avaliado primeiro, ou seja, é equivalente a
(A AND B) OR C

Então, se você quer explicitamente
A AND (B OR C)

em vez disso, você deve colocar entre parênteses.

Isso não é específico para SQL. A ordem de precedência desses operadores é a mesma em todas as linguagens de programação que conheço (ou seja, pelo menos C, C++, C#, Java e scripts de shell Unix).