演算子の優先順位は、次の表で優先順位の高いものから低いものへと示されています。同じ行に並んで記載されている演算子は、優先順位が同じものです。
INTERVAL BINARY, COLLATE ! - (unary minus), ~ (unary bit inversion) ^ *, /, DIV, %, MOD -, + <<, >> & | =, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN BETWEEN, CASE, WHEN, THEN, ELSE NOT &&, AND XOR ||, OR :=
PIPES_AS_CONCAT
SQL
モードが有効になっている場合、||
演算子の優先順位は
^
と単項演算子の間になります。
HIGH_NOT_PRECEDENCE
SQL
モードが有効になっていると、NOT
の優先順位は
!
演算子と同じになります。Server SQL Modes
を参照してください。
演算子の優先順位は、式の項の評価の順序を決定します。この順位とグループを明示的に上書きするには、丸括弧 (()) を使用します。例 :
mysql>SELECT 1+2*3;
-> 7 mysql>SELECT (1+2)*3;
-> 9