运算符用于对值进行计算、比较和逻辑判断,是 SQL 表达式的重要组成部分。在 SELECT、WHERE、ORDER BY、UPDATE 等语句中都会频繁用到。
算术运算符主要用于数值计算。
常见算术运算符:
+:加法-:减法*:乘法/:除法%:取余
示例:
SELECT 1 + 2;
SELECT 10 - 3;
SELECT 4 * 5;
SELECT 20 / 4;
SELECT 10 % 3;在表查询中也可以直接参与运算:
SELECT price, quantity, price * quantity AS total_amount
FROM order_item;比较运算符用于判断两个值之间的关系,结果通常为真或假。
常见比较运算符:
=:等于<>或!=:不等于>:大于<:小于>=:大于等于<=:小于等于
示例:
SELECT * FROM user WHERE age = 18;
SELECT * FROM user WHERE age >= 18;
SELECT * FROM user WHERE status <> 'disabled';除了这些基础比较符,实际查询中还经常结合以下关键字:
BETWEEN ... AND ...IN (...)LIKEIS NULL
例如:
SELECT * FROM orders WHERE amount BETWEEN 100 AND 500;
SELECT * FROM user WHERE city IN ('北京', '上海');
SELECT * FROM article WHERE title LIKE 'MySQL%';
SELECT * FROM profile WHERE mobile IS NULL;逻辑运算符用于组合多个条件。
常见逻辑运算符:
AND:并且OR:或者NOT:非
示例:
SELECT * FROM user
WHERE age >= 18 AND city = '上海';
SELECT * FROM user
WHERE city = '北京' OR city = '深圳';
SELECT * FROM user
WHERE NOT status = 'disabled';在复杂条件中,建议适当使用括号,避免优先级造成理解偏差:
SELECT * FROM user
WHERE (city = '上海' OR city = '杭州')
AND status = 'enabled';位运算符用于对整数的二进制位进行操作。
常见位运算符:
&:按位与|:按位或^:按位异或~:按位取反<<:左移>>:右移
示例:
SELECT 6 & 3;
SELECT 6 | 3;
SELECT 6 ^ 3;
SELECT 6 << 1;
SELECT 6 >> 1;位运算通常用于:
- 权限标记
- 状态位组合
- 一些紧凑型整数编码场景
不过在普通业务 SQL 中,位运算不如比较运算和逻辑运算常见。
算术运算符解决“怎么算”,比较运算符解决“怎么比”,逻辑运算符解决“怎么组合条件”,位运算符解决“怎么处理二进制位”。真正高频使用的仍然是比较运算符和逻辑运算符。