您的位置:首页 > 财经 > 金融 > 深圳软件外包公司有哪些_清远市企业网站seo联系方式_建立网站的几个步骤_高端网站设计公司

深圳软件外包公司有哪些_清远市企业网站seo联系方式_建立网站的几个步骤_高端网站设计公司

2025/4/22 6:07:58 来源:https://blog.csdn.net/qq_40949254/article/details/147288981  浏览:    关键词:深圳软件外包公司有哪些_清远市企业网站seo联系方式_建立网站的几个步骤_高端网站设计公司
深圳软件外包公司有哪些_清远市企业网站seo联系方式_建立网站的几个步骤_高端网站设计公司

示例 SQL:

SELECT name, COUNT(*) 
FROM users 
WHERE age > 18 
GROUP BY name 
HAVING COUNT(*) > 1 
ORDER BY name ASC 
LIMIT 10;

虽然语句是从 SELECT 写起的,但执行顺序其实是这样的:

执行顺序SQL 子句作用说明
FROM确定查询的表、建立连接(JOIN)
ON用于连接条件(如果有 JOIN)
JOIN执行表连接操作(如果有)
WHERE行过滤,只保留符合条件的记录
GROUP BY分组操作
HAVING分组后的条件过滤
SELECT选择要查询的列或表达式
DISTINCT去重操作(如果指定)
ORDER BY排序操作
LIMIT限制返回结果的行数

📌 举例说明执行流程

SELECT department, COUNT(*) AS emp_count
FROM employees
WHERE salary > 5000
GROUP BY department
HAVING COUNT(*) > 2
ORDER BY emp_count DESC
LIMIT 5;

执行过程如下:

  1. FROM employees:确定数据源
  2. WHERE salary > 5000:筛选工资高于 5000 的员工
  3. GROUP BY department:按照部门分组
  4. HAVING COUNT(*) > 2:保留每组中人数超过 2 的部门
  5. SELECT department, COUNT(*):选择要显示的列
  6. ORDER BY emp_count DESC:按员工数倒序
  7. LIMIT 5:只取前 5 行

⚠️ 常见误区说明

  • WHERE 是在分组前过滤,HAVING 是在分组后过滤
  • SELECT 是在大多数逻辑完成后才进行,所以别名在 WHERE 中无法使用
  • LIMIT 是最后执行的,用于截取结果集

✅ 小技巧

需求应该使用
筛选原始记录WHERE
筛选分组结果HAVING
连接多表时的条件ON
排序字段来自聚合结果ORDER BY 中使用别名

可视化流程图

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com