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