【MySQL】演算の優先順位と制御

【MySQL】演算の優先順位と制御

MySQLの演算の優先順位と制御を解説します。

優先順位

算術演算や比較演算、論理演算などの演算は処理の順序に優先順位があります。

優先順位(↑高↓低)
演算子 意味
! 否定
- 数値のマイナス記号
*, /, DIV, %, MOD 乗算、除算、剰余
+, - 加算、減算
=, <=>, <>, !=, <, <=, >, >=, LIKE, IN 比較関連Ⅰ
BETWEEN 比較関連Ⅱ
NOT 否定
AND, && 論理積
XOR 排他的論理和
OR, || 論理和
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)