sql >> Databáze >  >> RDS >> Oracle

SQL 'AND' nebo 'OR' je na prvním místě?

AND má vyšší prioritu než OR:

Z dokumentů Oracle 12.1 (přednost pro AND a OR je konzistentní alespoň s verzí 7 – pravděpodobně dále, ale nemám odkazy na dokumentaci)

Předchozí verze:

  • Verze 8
  • Verze 7

Priority operátorů jsou uvedeny v následujícím seznamu, od nejvyšší po nejnižší. Operátory zobrazené společně na řádku mají stejnou prioritu.

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

VELMI bych však doporučil použití závorek, a to jak pro srozumitelnost, tak pro ZAJIŠTĚNÍ, že operátory jsou hodnoceny v pořadí, v jakém zamýšlíte.




  1. Falešné omezení cizího klíče selhalo

  2. Naučte se základní SQL dotazy pomocí MySQL

  3. Přehled VACUUM Processing v PostgreSQL

  4. Vícedílný identifikátor nelze svázat