暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

一文搞懂常见运算符,让你的SQL查询如虎添翼!

一如老师 2024-12-13
97

一文搞懂常见运算符,让你的SQL查询如虎添翼!🐯💻

还在为查询条件写得又长又复杂而头大吗?😵
想要更精确地筛选数据,却苦于运算符不会用?🔎
本文带你全面了解常见运算符的用法,助你在SQL世界中游刃有余!🌍

在数据库查询中,运算符是实现数据筛选、比较、逻辑判断、字符串处理的“隐形小助手”🙋‍♂️。从基本的算术运算,到复杂的模式匹配,再到逻辑组合,掌握常用运算符,能让你的查询轻松高效,宛如给SQL插上隐形的翅膀!🦅

为什么要关注常见运算符?

  1. 简化查询条件
    不同的运算符让你以最简洁的方式表达条件逻辑,不必绕弯子,直截了当。

  2. 提高查询性能
    熟练运用合适的运算符能减少冗余条件,让数据库更快速地锁定目标数据🔥。

  3. 灵活应对多样需求
    无论是模糊查询、范围筛选、逻辑判断,还是数值运算、字符串匹配,运算符都是你的万能小伙伴🤝。

常见运算符全景图

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
判断字段为NULLage IS NULL
年龄为空值的记录
IS NOT NULL
判断字段不为NULLsalary IS NOT NULL
薪资非空记录

例子
查询尚未填写邮箱的用户:

SELECT 用户名
FROM 用户
WHERE 邮箱 IS NULL;

IS NULL
帮你轻松找到数据空缺点,方便数据完善与清洗🧹。

实战tips:运算符选用原则

  1. 尽量简化条件表达式
    能用BETWEEN
    就不用>= AND <=
    连写,尽可能让查询简洁🤏。

  2. 正确处理NULL
    =
    对NULL不起作用,要用IS NULL
    检查,这点一定要记牢📌。

  3. 合理利用索引
    某些情况下,选择合适的运算符(如=
    ,BETWEEN
    )更有利于索引利用,加速查询🚀。

  4. 多层条件与逻辑
    根据需要组合AND
    OR
    NOT
    实现复杂过滤,不要重复写反逻辑条件🎯。

一句话总结

常见运算符是你在SQL世界中飞翔的双翼🦅。
掌握它们,你可以更准确、更快捷地处理数据查询和过滤工作。

行动起来!👊

看完这篇文章,赶紧回去检查你的SQL查询是否能用更简洁、更高效的运算符来表达。优化查询,从选择正确的运算符开始,让你的数据库轻装上阵!✨

觉得有用?转发给你的同事和朋友,让更多人少走弯路🙌!

文章转载自一如老师,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论