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. 多条件优先用括号明确优先级,避免逻辑错误。
相关推荐
cui_ruicheng7 小时前
MySQL(三):库操作与表操作
数据库·mysql·oracle
闪电悠米7 小时前
黑马点评-Redis 消息队列-02_list_pubsub_limits
java·数据库·ide·redis·缓存·list·intellij-idea
suoyue_zhan7 小时前
SQL经典案例之数据库的CTE递归循环使用
数据库·sql
Sammyyyyy7 小时前
2026 Mac 本地大模型部署深度解析与混合架构指南
数据库·人工智能·macos·ai·架构·servbay
zhangjw347 小时前
MySQL数据库零基础入门,数据库原理、SQL详解、库表操作、字段约束、基础查询全覆盖
数据库·sql·mysql
IT策士7 小时前
Redis 从入门到精通:数据结构Set 与 Sorted
数据结构·数据库·redis
2401_873479407 小时前
如何用IP离线库检测DNS隧道和C2通信?企业DNS安全防护指南
网络·数据库·tcp/ip·安全·ip
填满你的记忆7 小时前
10万QPS下,Redis缓存如何避免雪崩?
数据库·redis·缓存
IT界的老黄牛7 小时前
MongoDB 主从切换排查实战:从 docker ps 到 jq,一套 SOP 定位死因
数据库·mongodb·docker
睡不醒男孩0308237 小时前
第四篇:数据库国产化与信创替代的守护者:基于CLup的异构数据库一站式运维平台构建
运维·数据库·金融·clup·中启乘数