Oracle
 sql >> Base de données >  >> RDS >> Oracle

SQL 'AND' ou 'OR' vient en premier ?

AND a une priorité plus élevée que OR :

À partir de la documentation Oracle 12.1 (la priorité pour AND et OR est cohérente avec au moins la version 7 - probablement plus loin, mais je n'ai pas de liens de documentation)

Versions antérieures :

  • Version 8
  • Version 7

Les priorités des opérateurs sont affichées dans la liste suivante, de la plus haute à la plus basse. Les opérateurs affichés ensemble sur une ligne ont la même priorité.

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), :=

Cependant, j'encouragerais FORTEMENT l'utilisation de parenthèses à la fois pour plus de clarté et pour ASSURER que les opérateurs sont évalués dans l'ordre que vous souhaitez.