SQL 常用运算符操作方法总结

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;(判断奇偶)

注意:

  1. 仅支持数字列(int、float、decimal),字符串/日期不能直接算术运算;
  2. 除法结果默认保留小数,取余只针对整数。

二、比较运算符(用于条件筛选 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 ...

作用:匹配闭区间内的值(包含起始和结束值)

sql 复制代码
-- 筛选年龄18-30岁(包含18、30)
WHERE age BETWEEN 18 AND 30
-- 日期范围
WHERE create_time BETWEEN '2024-01-01' AND '2024-12-31'

2. IN

作用:匹配枚举列表中的任意一个值(替代多个 OR)

sql 复制代码
-- 筛选北京、上海、广州的用户
WHERE city IN ('北京','上海','广州')
-- 数字枚举
WHERE status IN (1,2,3)

五、模糊匹配运算符(LIKE

作用:对字符串 进行模糊查询,必须搭配通配符使用

通配符 含义
% 匹配任意多个字符(0个、1个、多个)
_ 匹配单个字符

常用示例:

sql 复制代码
-- 1. 以"张"开头
WHERE name LIKE '张%'
-- 2. 以"科技"结尾
WHERE company LIKE '%科技'
-- 3. 包含"电商"
WHERE name LIKE '%电商%'
-- 4. 第二个字符是"小"
WHERE name LIKE '_小%'

注意: 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 合并结果,保留重复值(效率更高)

示例:

sql 复制代码
-- 合并两个表的用户名
SELECT name FROM user1
UNION ALL
SELECT name FROM user2

快速记忆与使用场景

  1. 计算 → 用算术运算符(+ - * / %
  2. 筛选条件 → 比较运算符(= > < !=
  3. 多条件组合AND/OR/NOT
  4. 区间/枚举BETWEEN / IN
  5. 模糊查询LIKE + %/_
  6. 空值判断IS NULL / IS NOT NULL
  7. 结果合并UNION / UNION ALL

总结

  1. 算术运算符仅用于数值计算 ,比较/逻辑运算符是 WHERE 筛选核心;
  2. NULL 必须用 IS NULL 判断,不能用 =
  3. 模糊查询必配通配符,% 匹配任意字符,_ 匹配单个字符;
  4. 多条件优先用括号明确优先级,避免逻辑错误。
相关推荐
云和恩墨4 小时前
数据库一体机简史:从ODA到zData X,命名之中的玄机
数据库·vr
数据库小学妹5 小时前
KES是什么?国产数据库技术架构、核心能力与选型实战解析
数据库·经验分享·架构·国产数据库·数据库选型·信创数据库
衍生星球5 小时前
SpringBoot3 + Vue3 + 微信小程序如何学习,以及学哪些技术,组件
sql·微信小程序·uni-app·vue·springboot
Database_Cool_6 小时前
向量检索加速首选:阿里云 Tair 内置向量能力毫秒级召回
数据库·阿里云
强健的石头6 小时前
django文件对象是什么?
数据库·django·sqlite
ClouGence7 小时前
保障公共安全,一线治安机构实时数据应用与实践
数据库·mysql·postgresql
烟漠河洛7 小时前
线上事故复盘:Redis幂等性设计边界没覆盖跨状态请求,订单状态机直接崩了
数据库·redis·缓存
Minxinbb8 小时前
TDSQL for MySQL 服务器重启操作
数据库·mysql·dba
SelectDB8 小时前
Doris 实战:用 Colocate Join 消除 Shuffle,AB 指标计算性能提升 145 倍 🚀
数据库·性能优化·ab测试
PawSQL8 小时前
PawSQL 技术月报 | 2026年6月
数据库·sql·tdsql·pawsql·sql审核