Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

SQL 'AND' ou 'OR' vem primeiro?


AND tem precedência maior que OR:

Dos documentos do Oracle 12.1 (a precedência para AND e OR é consistente com pelo menos a versão 7 - provavelmente mais, mas não tenho links de documentação)

Versões anteriores:
  • Versão 8
  • Versão 7

As precedências do operador são mostradas na lista a seguir, da precedência mais alta para a mais baixa. Os operadores que são mostrados juntos em uma linha têm a mesma precedência.
INTERVAL
BINARY, COLLATE
!
- (unary minus), ~ (unary bit inversion)
^
*, /, DIV, %, MOD
-, +
<<, >>
&
|
= (comparison), <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
BETWEEN, CASE, WHEN, THEN, ELSE
NOT
&&, AND
XOR
||, OR
= (assignment), :=

No entanto, recomendo ALTAMENTE o uso de parênteses para maior clareza e para GARANTIR que os operadores sejam avaliados na ordem pretendida.