news 2026/7/8 13:42:51

DQL 查询命令总览

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DQL 查询命令总览
命令作用是否单独使用常与谁配合企业使用频率示例
SELECT指定查询哪些字段FROM⭐⭐⭐⭐⭐SELECT name, age
FROM指定查询哪张表SELECT⭐⭐⭐⭐⭐FROM student
WHERE过滤满足条件的行SELECT、JOIN⭐⭐⭐⭐⭐WHERE age > 18
ORDER BY对结果排序LIMIT⭐⭐⭐⭐⭐ORDER BY score DESC
LIMIT限制返回的数据数量(分页)ORDER BY⭐⭐⭐⭐⭐LIMIT 10
GROUP BY按字段分组聚合函数、HAVING⭐⭐⭐⭐GROUP BY gender
HAVING对分组后的结果过滤GROUP BY⭐⭐⭐HAVING COUNT(*) > 5
JOIN多表关联查询ON、WHERE⭐⭐⭐⭐⭐JOIN orders ON ...
ON指定 JOIN 的关联条件JOIN⭐⭐⭐⭐⭐ON u.id = o.user_id
INNER JOIN只返回匹配成功的数据ON⭐⭐⭐⭐INNER JOIN orders
LEFT JOIN保留左表所有数据ON⭐⭐⭐⭐⭐LEFT JOIN orders
RIGHT JOIN保留右表所有数据ON⭐⭐RIGHT JOIN orders
DISTINCT去除重复数据SELECT⭐⭐⭐SELECT DISTINCT gender
AS给字段或表起别名SELECT、FROM⭐⭐⭐⭐name AS username
UNION合并两个查询结果并去重SELECT⭐⭐SELECT ... UNION SELECT ...
UNION ALL合并两个查询结果,不去重SELECT⭐⭐UNION ALL

WHERE 中常用的条件运算符

运算符作用示例
=等于age = 18
>大于score > 90
<小于age < 20
>=大于等于age >= 18
<=小于等于score <= 60
<>/!=不等于gender <> 'M'
BETWEEN ... AND ...范围查询(包含边界)BETWEEN 18 AND 25
IN (...)在指定集合中IN (1,2,3)
LIKE模糊查询LIKE 'Tom%'
IS NULL判断为空IS NULL
IS NOT NULL判断不为空IS NOT NULL
AND并且age > 18 AND score > 80
OR或者gender='F' OR score>90
NOT取反NOT gender='M'

聚合函数

函数作用示例
COUNT()统计数量COUNT(*)
SUM()求和SUM(score)
AVG()平均值AVG(score)
MAX()最大值MAX(score)
MIN()最小值MIN(score)

JOIN 类型

JOIN 类型返回结果
INNER JOIN两张表都有的数据
LEFT JOIN左表全部 + 右表匹配的数据
RIGHT JOIN右表全部 + 左表匹配的数据

例如:

用户(user) Tom Jack Lucy 订单(order) Tom Jack
  • INNER JOIN
Tom Jack
  • LEFT JOIN
Tom Jack Lucy
  • RIGHT JOIN
Tom Jack

一个完整 SQL 的组成

企业开发中,一条完整 SQL 通常按下面的顺序书写:

SELECT 字段 FROM 表 JOIN 其他表 ON 关联条件 WHERE 行过滤 GROUP BY 分组 HAVING 分组过滤 ORDER BY 排序 LIMIT 分页;

例如:

SELECT u.name, COUNT(o.id) AS order_count FROM user u LEFT JOIN orders o ON u.id = o.user_id WHERE u.age >= 18 GROUP BY u.name HAVING COUNT(o.id) > 1 ORDER BY order_count DESC LIMIT 10;

SQL 的执行顺序(非常重要)

虽然 SQL 是这样写的:

SELECT FROM JOIN ON WHERE GROUP BY HAVING ORDER BY LIMIT

MySQL 实际执行顺序更接近:

执行顺序子句作用
FROM确定查询的数据来源
JOIN连接多张表
ON根据关联条件匹配数据
WHERE过滤原始数据
GROUP BY对数据分组
HAVING过滤分组后的结果
SELECT选择最终输出的字段
DISTINCT去除重复记录(如果使用)
ORDER BY排序
LIMIT返回指定数量的数据

⭐ 最后送你一句企业里经常用来理解 DQL 的口诀

SELECT:查什么 FROM:从哪查 JOIN:和谁查 ON:怎么关联 WHERE:筛选谁 GROUP BY:怎么分组 HAVING:筛选哪些组 ORDER BY:怎么排序 LIMIT:返回多少条

这套口诀基本覆盖了 DQL 的全部核心内容。以后看到一条复杂 SQL,你都可以按这几个步骤去理解,它会比死记语法更容易掌握。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/8 13:41:52

EasyMarkets易信观察:投教内容、信息透明度和用户支持的综合参考

EasyMarkets易信观察&#xff1a;投教内容、信息透明度和用户支持的综合参考评价外汇服务平台时&#xff0c;读者真正需要的往往不是强烈口号&#xff0c;而是清楚的信息、稳定的流程和足够明确的风险提示。EasyMarkets易信可以放在这样的框架中观察&#xff1a;它是否方便用户…

作者头像 李华
网站建设 2026/7/8 13:41:28

轻量级服务器实战应用指南

很多开发者在入手一台云服务器或闲置的旧电脑时&#xff0c;往往只把它当作一个简单的存储盘或者临时的测试床&#xff0c;用了一段时间后发现资源大量闲置&#xff0c;却又不知道如何系统地挖掘它的潜力。 其实&#xff0c;只要稍加规划&#xff0c;这台设备就能变身成为个人的…

作者头像 李华
网站建设 2026/7/8 13:39:11

嵌入式选 x86 还是 ARM?一文讲透两种架构怎么挑

做嵌入式产品选型&#xff0c;x86还是 ARM几乎是绕不开的灵魂问题。有人偏爱x86的性能与兼容性&#xff0c;有人认准ARM的低功耗与高性价比。其实两者没有绝对的高低之分&#xff0c;只是设计思路与适用场景截然不同。今天我们用大白话讲透两者差异&#xff0c;帮你快速选对方向…

作者头像 李华
网站建设 2026/7/8 13:32:08

SQL Server 分页查询性能对比:ROW_NUMBER vs OFFSET FETCH vs TOP 3方案实测

SQL Server 分页查询性能深度评测&#xff1a;ROW_NUMBER vs OFFSET FETCH vs TOP 方案实战解析在数据驱动的现代应用中&#xff0c;高效的分页查询是每个数据库开发者必须掌握的技能。SQL Server作为企业级关系型数据库的标杆&#xff0c;提供了多种分页实现方案&#xff0c;但…

作者头像 李华
网站建设 2026/7/8 13:30:38

2026跨境电商新手避坑指南:从选品到获客的5个冷门实操技巧别踩雷

不少刚入局跨境电商的新手&#xff0c;总觉得跟着网上的热门攻略抄作业就能稳赚&#xff0c;真等到把货发出去、广告投出去才发现&#xff0c;钱花了流水漂&#xff0c;半点水花都没见着。其实很多被忽略的冷门细节&#xff0c;才是决定新手能不能熬过前三个月存活期的关键。 第…

作者头像 李华