Oracle
 sql >> Datenbank >  >> RDS >> Oracle

SQL 'AND' oder 'OR' kommt zuerst?

AND hat Vorrang vor OR:

Aus Oracle 12.1-Dokumentation (Vorrang für AND und OR ist konsistent mit mindestens Version 7 - wahrscheinlich weiter, aber ich habe keine Dokumentationslinks)

Frühere Versionen:

  • Version 8
  • Version 7

Operatorprioritäten werden in der folgenden Liste angezeigt, von der höchsten zur niedrigsten. Operatoren, die zusammen auf einer Linie angezeigt werden, haben dieselbe Priorität.

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

Ich würde jedoch die Verwendung von Klammern dringend empfehlen, sowohl aus Gründen der Klarheit als auch um SICHERZUSTELLEN, dass die Operatoren in der von Ihnen beabsichtigten Reihenfolge ausgewertet werden.