SQL 运算符
SQL中的运算符是什么
在SQL语句的WHERE子句中使用的保留字或字符被称为SQL运算符,用于执行比较和算术运算等操作。这些运算符用于在SQL语句中指定条件,并用作语句中多个条件的连接词。
SQL运算符可以是一元运算符或二元运算符。一元运算符(例如一元+或一元-)只使用一个操作数执行一元运算,而二元运算符(例如+或-等)使用两个操作数执行二元运算。
SQL支持以下类型的运算符:
- 算术运算符
- 比较运算符
- 逻辑运算符
- 用于否定条件的运算符
SQL算术运算符
SQL算术运算符用于对数字值进行数学运算。SQL提供以下运算符来执行数学运算。
下面是SQL中提供的所有算术运算符的列表。
运算符 | 描述 | 示例 |
---|---|---|
+ |
将操作符两边的值相加。 | 10 + 20 等于 30 |
- |
从左操作数减去右操作数。 | 20 - 30 等于 -10 |
* |
将操作符两边的值相乘。 | 10 * 20 等于 200 |
/ |
左操作数除以右操作数。 | 20 / 10 等于 2 |
% |
左操作数除以右操作数,并返回余数。 | 5 % 2 等于 1 |
SQL比较运算符
SQL比较运算符用于测试两个给定表达式是否相同。这些运算符在SQL条件语句中用于将一个表达式与另一个表达式进行比较,并返回一个布尔值,可以是TRUE或FALSE。当一个或两个操作数的值为NULL时,SQL比较运算符的结果可能是UNKNOWN。
下面是SQL中所有可用的比较运算符的列表。
运算符 | 描述 | 示例 |
---|---|---|
= |
检查两个操作数的值是否相等,如果相等则条件为真。 | 5 = 5 返回 TRUE |
!= |
检查两个操作数的值是否不相等,如果不相等则条件为真。 | 5 != 6 返回 TRUE |
<> |
检查两个操作数的值是否不相等,如果不相等则条件为真。 | 5 <> 4 返回 TRUE |
> |
检查左操作数的值是否大于右操作数的值,如果是则条件为真。 | 4 > 5 返回 FALSE |
< |
检查左操作数的值是否小于右操作数的值,如果是则条件为真。 | 4 < 5 返回 TRUE |
>= |
检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 | 4 >= 5 返回 FALSE |
<= |
检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 | 4 <= 5 返回 TRUE |
!< |
检查左操作数的值是否不小于右操作数的值,如果是则条件为真。 | 4 !< 5 返回 FALSE |
!> |
检查左操作数的值是否不大于右操作数的值,如果是则条件为真。 | 4 !> 5 返回 TRUE |
SQL逻辑运算符
SQL逻辑运算符与比较运算符非常相似,它们用于测试某个给定条件的真假。这些运算符返回一个布尔值,可以是TRUE或FALSE。当其中一个操作数的值为NULL时,SQL逻辑运算符的结果可能为UNKNOWN。
以下是SQL中所有可用的逻辑运算符的列表。
运算符 | 描述 | 示例 |
---|---|---|
ALL | 如果一组比较都为TRUE,则为TRUE。 | |
AND | 如果由AND分隔的所有条件都为TRUE,则为TRUE。 | |
ANY | 如果一组比较中有任何一项为TRUE,则为TRUE。 | |
BETWEEN | 如果操作数在比较范围内,则为TRUE。 | |
EXISTS | 如果子查询返回一个或多个记录,则为TRUE。 | |
IN | 如果操作数等于表达式列表中的任一项,则为TRUE。 | |
LIKE | 如果操作数与通配符匹配模式,则为TRUE。 | |
NOT | 反转任何其他布尔运算符的值。 | |
OR | 如果由OR分隔的任何条件为TRUE,则为TRUE。 | |
IS NULL | 如果表达式的值为NULL,则为TRUE。 | |
SOME | 如果一组比较中的一些为TRUE,则为TRUE。 | |
UNIQUE | UNIQUE运算符在指定表的每一行中搜索唯一性(无重复)。 |
SQL运算符优先级
SQL中的运算符优先级是指SQL在计算给定表达式时评估不同运算符的顺序。具有较高优先级的运算符首先被评估。
以下表列出了所有SQL运算符及其优先级。具有最高优先级的运算符位于顶部,而具有最低优先级的运算符位于底部。
运算符 | 操作 |
---|---|
+, - |
相等,取反 |
*, / |
乘法,除法 |
+, - |
加法,减法 |
=, !=, <, >, <=, >=, IS NULL, LIKE, BETWEEN, IN |
比较 |
NOT |
逻辑取反 |
AND |
逻辑与 |
OR |
逻辑或 |
示例
考虑以下SQL语句:
SELECT 20 - 3 * 5
这将导致以下结果。先计算乘法运算符,然后进行减法运算。
5