【重学 MySQL】二十、运算符的优先级 
   
 
 - MySQL 运算符的优先级(由高到低)
 - 注意事项
 - 示例
 

 在 MySQL 中,运算符的优先级决定了在表达式中各个运算符被计算的先后顺序。了解运算符的优先级对于编写正确且高效的 SQL 语句至关重要。以下是根据高权威性来源整理的 MySQL 运算符的优先级顺序:
MySQL 运算符的优先级(由高到低)
-  
括号
():- 括号用于改变运算的默认顺序,具有最高优先级。
 
 -  
一元运算符:
- 包括逻辑取反 
!、按位取反~、正号+(作为前缀时)、负号-(作为前缀时)等。 - 这些运算符作用于单个操作数。
 
 - 包括逻辑取反 
 -  
乘除取模运算符:
*(乘法)、/(除法)、%(取模)- 这些运算符用于执行基本的数学运算。
 
 -  
加减运算符:
+(加法)、-(减法,非前缀时)- 用于执行基本的算术加减运算。
 
 -  
位运算符:
^(按位异或)、&(按位与)、|(按位或)- 这些运算符用于对整数的二进制表示进行位级操作。
 
 -  
移位运算符:
<<(左移位)、>>(右移位)- 用于将数的二进制表示向左或向右移动指定的位数。
 
 -  
比较运算符:
=、<>(或!=)、<、<=、>、>=、LIKE、REGEXP、IN、IS NULL、IS NOT NULL等- 用于比较两个表达式的值。
 
 -  
逻辑运算符:
NOT(或!,在逻辑上下文中)AND(或&&)OR(或||)XOR(异或逻辑运算符,虽然不常用,但在某些情况下很有用)- 这些运算符用于执行逻辑运算,如否定、与、或和异或。
 
 
注意事项
- 如果运算符的优先级相同,MySQL 将按照从左到右的顺序计算表达式。
 - 可以使用括号 
()来改变运算的默认顺序,使表达式更清晰、更易于理解。 - 在编写复杂的 SQL 语句时,了解并遵循运算符的优先级规则可以帮助避免错误,并优化查询性能。
 
示例
假设有以下 SQL 表达式:
SELECT * FROM table_name WHERE (column1 + 5) * 2 > 10 AND column2 = 'value';
 
在这个表达式中:
- 括号内的 
column1 + 5首先被计算。 - 然后,将结果与 2 相乘。
 - 接下来,使用比较运算符 
>检查结果是否大于 10。 - 最后,使用逻辑运算符 
AND结合另一个条件column2 = 'value'。 
通过了解运算符的优先级,可以确保 SQL 语句按照预期的方式执行。

















![[计算机基础四大件学习笔记]计算机组成原理](https://i-blog.csdnimg.cn/blog_migrate/5f1f84864cc5baaf55d5528e947e0b99.png#pic_center)

