SQL 常用运算符操作方法总结
SQL 运算符是用来对数据进行计算、比较、逻辑判断、范围匹配等操作的核心工具,主要分为算术、比较、逻辑、范围、模糊匹配、集合、NULL判断七大类,下面是最常用、最实用的操作方法。
一、算术运算符(用于数值计算)
作用:对数字类型字段做加减乘除、取余运算
| 运算符 | 含义 | 示例 |
|---|---|---|
+ | 加法 | SELECT price + 10 FROM goods; |
- | 减法 | SELECT price - 5 FROM goods; |
* | 乘法 | SELECT price * num AS total FROM order; |
/ | 除法 | SELECT total / num AS avg_price FROM order; |
% | 取余(模运算) | SELECT id % 2 FROM user;(判断奇偶) |
注意:
- 仅支持数字列(int、float、decimal),字符串/日期不能直接算术运算;
- 除法结果默认保留小数,取余只针对整数。
二、比较运算符(用于条件筛选 WHERE)
作用:判断两个值的大小/相等关系,返回真/假,用于过滤数据
| 运算符 | 含义 | 示例 |
|---|---|---|
= | 等于 | WHERE age = 18 |
!=/<> | 不等于 | WHERE status != 0 |
> | 大于 | WHERE score > 60 |
< | 小于 | WHERE price < 100 |
>= | 大于等于 | WHERE create_time >= '2024-01-01' |
<= | 小于等于 | WHERE num <= 5 |
核心用法:
- 字符串/日期比较:直接用
=、>、<(日期按时间先后比较); - 区分大小写:多数数据库默认不区分,需特殊配置。
三、逻辑运算符(多条件组合)
作用:将多个比较条件组合,实现复杂筛选
| 运算符 | 含义 | 用法 |
|---|---|---|
AND | 且(所有条件都满足) | WHERE age>18 AND score>=90 |
OR | 或(任意一个满足) | WHERE city='北京' OR city='上海' |
NOT | 非(取反) | WHERE NOT status=1 |
优先级:NOT>AND>OR,不确定时用括号包裹条件。
四、范围运算符(区间/枚举匹配)
1.BETWEEN ... AND ...
作用:匹配闭区间内的值(包含起始和结束值)
-- 筛选年龄18-30岁(包含18、30)WHEREageBETWEEN18AND30-- 日期范围WHEREcreate_timeBETWEEN'2024-01-01'AND'2024-12-31'2.IN
作用:匹配枚举列表中的任意一个值(替代多个 OR)
-- 筛选北京、上海、广州的用户WHEREcityIN('北京','上海','广州')-- 数字枚举WHEREstatusIN(1,2,3)五、模糊匹配运算符(LIKE)
作用:对字符串进行模糊查询,必须搭配通配符使用
| 通配符 | 含义 |
|---|---|
% | 匹配任意多个字符(0个、1个、多个) |
_ | 匹配单个字符 |
常用示例:
-- 1. 以"张"开头WHEREnameLIKE'张%'-- 2. 以"科技"结尾WHEREcompanyLIKE'%科技'-- 3. 包含"电商"WHEREnameLIKE'%电商%'-- 4. 第二个字符是"小"WHEREnameLIKE'_小%'注意:LIKE不使用通配符时,等价于=(精确匹配)。
六、NULL 判断运算符(特殊重点)
作用:判断字段是否为空值(NULL),绝对不能用=判断 NULL
| 运算符 | 含义 | 示例 |
|---|---|---|
IS NULL | 字段为空 | WHERE email IS NULL |
IS NOT NULL | 字段不为空 | WHERE phone IS NOT NULL |
错误写法:WHERE email = NULL(永远不生效)
七、集合运算符(多结果集合并)
作用:合并两个及以上 SELECT 查询结果(要求列数、类型一致)
| 运算符 | 含义 |
|---|---|
UNION | 合并结果,自动去重 |
UNION ALL | 合并结果,保留重复值(效率更高) |
示例:
-- 合并两个表的用户名SELECTnameFROMuser1UNIONALLSELECTnameFROMuser2快速记忆与使用场景
- 计算→ 用算术运算符(
+ - * / %) - 筛选条件→ 比较运算符(
= > < !=) - 多条件组合→
AND/OR/NOT - 区间/枚举→
BETWEEN/IN - 模糊查询→
LIKE + %/_ - 空值判断→
IS NULL / IS NOT NULL - 结果合并→
UNION / UNION ALL
总结
- 算术运算符仅用于数值计算,比较/逻辑运算符是
WHERE筛选核心; NULL必须用IS NULL判断,不能用=;- 模糊查询必配通配符,
%匹配任意字符,_匹配单个字符; - 多条件优先用括号明确优先级,避免逻辑错误。