一文搞懂常见运算符,让你的SQL查询如虎添翼!🐯💻
★还在为查询条件写得又长又复杂而头大吗?😵
”
想要更精确地筛选数据,却苦于运算符不会用?🔎
本文带你全面了解常见运算符的用法,助你在SQL世界中游刃有余!🌍
在数据库查询中,运算符是实现数据筛选、比较、逻辑判断、字符串处理的“隐形小助手”🙋♂️。从基本的算术运算,到复杂的模式匹配,再到逻辑组合,掌握常用运算符,能让你的查询轻松高效,宛如给SQL插上隐形的翅膀!🦅
为什么要关注常见运算符?
简化查询条件:
不同的运算符让你以最简洁的方式表达条件逻辑,不必绕弯子,直截了当。提高查询性能:
熟练运用合适的运算符能减少冗余条件,让数据库更快速地锁定目标数据🔥。灵活应对多样需求:
无论是模糊查询、范围筛选、逻辑判断,还是数值运算、字符串匹配,运算符都是你的万能小伙伴🤝。
常见运算符全景图
1. 算术运算符 (Arithmetic Operators)
适用场景:数值计算、统计分析、数据聚合
| 运算符 | 功能 | 示例 | 结果 |
|---|---|---|---|
+ | 加法 | SELECT 2+3; | 5 |
- | 减法 | SELECT 10-7; | 3 |
* | 乘法 | SELECT 4*5; | 20 |
/ | 除法 | SELECT 10/2; | 5 |
%或 MOD() | 取余 | SELECT 10%3;或 SELECT MOD(10,3); | 1 |
例子:
统计商品单价与数量的乘积,计算销售额:
SELECT 商品ID, 单价, 数量, (单价*数量) AS 销售额
FROM 订单明细;
运算符让数据计算一气呵成💡!
2. 比较运算符 (Comparison Operators)
适用场景:条件过滤、数据筛选
| 运算符 | 功能 | 示例 | 结果 |
|---|---|---|---|
= | 等于 | price = 100 | 匹配价格等于100的记录 |
<>或 != | 不等于 | name != 'Alice' | 匹配姓名不为Alice的记录 |
> | 大于 | age > 18 | 匹配年龄大于18的记录 |
< | 小于 | age < 30 | 匹配年龄小于30的记录 |
>= | 大于等于 | salary >= 5000 | 匹配薪资不低于5000的记录 |
<= | 小于等于 | score <= 60 | 匹配分数不超过60的记录 |
<=> | 严格比较 (NULL安全) | a <=> b | 当a和b都为NULL时也返回true |
例子:
查询薪资高于8000的员工:
SELECT 姓名, 薪资
FROM 员工
WHERE 薪资 > 8000;
这一步让你快速锁定高收入人群的名单📜!
3. 逻辑运算符 (Logical Operators)
适用场景:多条件组合过滤
| 运算符 | 功能 | 示例 | 说明 |
|---|---|---|---|
AND | 逻辑与 | age>18 AND age<30 | 年龄在18到30之间 |
OR | 逻辑或 | city='北京' OR city='上海' | 城市为北京或上海的人 |
NOT | 逻辑非 | NOT (status='已完成') | 状态不为已完成的记录 |
例子:
查询年龄在20到25岁之间,且所在城市是“广州”的用户:
SELECT 姓名, 年龄, 城市
FROM 用户
WHERE 年龄>=20 AND 年龄<=25
AND 城市='广州';
一个条件不够?用AND和OR灵活组合,让结果精准到毫厘🎯!
4. 字符串与模式匹配运算符 (String & Pattern Matching Operators)
适用场景:模糊查询、模式筛选
| 运算符 | 功能 | 示例 | 说明 |
|---|---|---|---|
LIKE | 模糊匹配 | name LIKE '%张%' | 名字中包含“张”的记录 |
NOT LIKE | 否定模糊匹配 | address NOT LIKE '%北京%' | 地址中不包含“北京”的记录 |
REGEXP | 正则匹配 | email REGEXP '^[a-z0-9]+@' | 邮箱以字母数字开头 |
例子:
查询名字包含“王”的学生:
SELECT 姓名
FROM 学生
WHERE 姓名 LIKE '%王%';
神奇的%
通配符,让你从海量数据中精准淘金🔎!
5. 范围与集合运算符 (Range & Set Operators)
适用场景:范围查询、多值匹配
| 运算符 | 功能 | 示例 | 说明 |
|---|---|---|---|
BETWEEN ... AND | 范围匹配 | price BETWEEN 100 AND 200 | 价格在100到200之间 |
IN | 集合匹配 | city IN ('北京','上海','广州') | 城市为三个选项之一 |
NOT IN | 否定集合匹配 | color NOT IN ('红','蓝') | 颜色不为红或蓝 |
例子:
查询价格在500至1000之间的商品:
SELECT 商品名称, 价格
FROM 商品
WHERE 价格 BETWEEN 500 AND 1000;
BETWEEN
让范围查询变得简洁易读,IN
让多选匹配如虎添翼🐯!
6. NULL相关运算符 (NULL-Related Operators)
适用场景:检查数据是否缺失
| 运算符 | 功能 | 示例 | 说明 |
|---|---|---|---|
IS NULL | 判断字段为NULL | age IS NULL | 年龄为空值的记录 |
IS NOT NULL | 判断字段不为NULL | salary IS NOT NULL | 薪资非空记录 |
例子:
查询尚未填写邮箱的用户:
SELECT 用户名
FROM 用户
WHERE 邮箱 IS NULL;
IS NULL
帮你轻松找到数据空缺点,方便数据完善与清洗🧹。
实战tips:运算符选用原则
尽量简化条件表达式:
能用BETWEEN
就不用>= AND <=
连写,尽可能让查询简洁🤏。正确处理NULL:
=
对NULL不起作用,要用IS NULL
检查,这点一定要记牢📌。合理利用索引:
某些情况下,选择合适的运算符(如=
,BETWEEN
)更有利于索引利用,加速查询🚀。多层条件与逻辑:
根据需要组合AND
、OR
、NOT
实现复杂过滤,不要重复写反逻辑条件🎯。
一句话总结
常见运算符是你在SQL世界中飞翔的双翼🦅。
掌握它们,你可以更准确、更快捷地处理数据查询和过滤工作。
行动起来!👊
看完这篇文章,赶紧回去检查你的SQL查询是否能用更简洁、更高效的运算符来表达。优化查询,从选择正确的运算符开始,让你的数据库轻装上阵!✨
觉得有用?转发给你的同事和朋友,让更多人少走弯路🙌!








