【MySQL】演算の優先順位と制御
算数や数学の式と同様にMySQLの演算にも優先順位があります。
ここでは、MySQLの演算の優先順位と制御について解説します。
検証環境
優先順位
算術演算や比較演算、論理演算などの演算は処理の順序に優先順位があります。
| 演算子 | 意味 |
|---|---|
! |
否定 |
- |
数値のマイナス記号 |
*, /, DIV, %, MOD |
乗算、除算、剰余 |
+, - |
加算、減算 |
=, <=>, <>, !=, <, <=, >, >=, LIKE, IN |
比較関連Ⅰ |
BETWEEN |
比較関連Ⅱ |
NOT |
否定 |
AND, && |
論理積 |
XOR |
排他的論理和 |
OR, || |
論理和 |
例えば、次の3 + 8 * 11では8 * 11を最初に演算し、その結果に3が加算されます。
mysql> SELECT 3 + 8 * 11;
+------------+
| 3 + 8 * 11 |
+------------+
| 91 |
+------------+
1 row in set (0.00 sec)
制御
算数・数学の数式と同様に丸括弧(())で優先度を制御することができます。
丸括弧がネスト(階層化)する場合はより内側のモノから優先して演算されます。
mysql> SELECT ( 3 + 8 ) * 11;
+----------------+
| ( 3 + 8 ) * 11 |
+----------------+
| 121 |
+----------------+
1 row in set (0.00 sec)