当前位置: 首页 > news >正文

SQL 查询语句的子句的执行顺序

书写顺序: SELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BY → LIMIT

执行顺序:
FROM + JOIN + ON
WHERE
GROUP BY
HAVING
SELECT
DISTINCT
ORDER BY
LIMIT

例子:

SELECT category,  -- 步骤5:选择要返回的列AVG(price) AS avg_price 
FROM product  -- 步骤1:确定数据源
JOIN category c ON product.cid = c.id  -- 步骤1:关联表,指定条件
WHERE price > 50  -- 步骤2:过滤原始行(价格>50)
GROUP BY category  -- 步骤3:按类别分组
HAVING avg_price > 100  -- 步骤4:过滤分组(平均价格>100)
ORDER BY avg_price DESC  -- 步骤7:按平均价格降序
LIMIT 5;  -- 步骤8:只返回前5组
  1. FROM + JOIN + ON: 首先确定查询的数据源(表),并通过 JOIN 关联多个表,ON指定关联条件(先有数据来源,才能后续处理)。

  2. WHERE: 对关联后的原始数据行进行过滤,移除不满足条件的行(此时还未分组,不能用聚合函数)

  3. GROUP BY: 将 WHERE过滤后的行按指定列分组(相同值的行归为一组)。

  4. HAVING: 对 GROUP BY 分组后的结果进行过滤,只保留满足条件的分组(可使用聚合函数,如 HAVING COUNT(*) > 10)。

  5. SELECT: 从前面处理后的结果中,选择需要返回的列(或聚合函数结果),此时才确定最终输出的字段。

  6. DISTINCT: 对 SELECT 后的结果去除重复行(如果使用了 DISTINCT)。

  7. ORDER BY: 对 SELECT 后的结果按指定列排序(升序 / 降序)。

  8. LIMIT: 最后限制返回的行数(如分页查询取前 10 行)。

http://www.dtcms.com/a/545042.html

相关文章:

  • sql 双游标循环
  • SQL 189 统计有未完成状态的试卷的未完成数和未完成率
  • 有哪些做微信小游戏的网站建设网站后期人员薪酬
  • 黑龙江交通基础设施建设网站怎么做推广网站
  • 企业微信AI SCRM推荐:从技术适配与场景功能实践进行评估
  • 从开源到落地:SimpleBGC 三轴稳像平台全栈技术解析(下)
  • 零基础新手小白快速了解掌握服务集群与自动化运维(十六)集群部署模块——Keepalived双机热备
  • 网站建设论坛做一个网站的流程
  • 金仓数据库平替MongoDB:银行存款系统国产化实践
  • 基于 Spring AI Alibaba 搭建 Text-To-SQL 智能系统(前置介绍)
  • 搞笑资讯网站源码数据库支持的网站怎么做
  • 友思特应用 | 基于高精度双目散斑 3D 相机的放射治疗视觉定位应用
  • MCU寄存器配置深度解析:从原理到实践
  • 论文学习_LLM4Decompile: Decompiling Binary Code with Large Language Models
  • 【日记】好耶!是新电脑!(3959 字)
  • Day73 嵌入式传感器技术全栈开发
  • 学历提升有几种方式长沙正规seo优化公司
  • 合肥网络公司 网站建设网站建设 预算
  • 23大数据 数据挖掘集合
  • Docker Compose曝路径遍历漏洞,可致任意覆写文件(CVE-2025-62725)
  • 网站可以分为哪些类型怎样优化自己的网站
  • Rust 模式匹配的穷尽性检查:从编译器证明到工程演进
  • C# Entity Framework Core 中的 Include 和 ThenInclude 详解
  • Linux如何远程控制Windows?rdesktop让跨系统操作像本地一样流畅
  • Spring Boot3零基础教程,JVM 编译原理,笔记87
  • Rust 变量声明与可变性:从设计哲学到工程实践
  • 深圳苍松大厦 网站建设对网站做综合搜索引擎优化分析
  • 数据结构 09 二叉树作业
  • 建网站需要买什么平台公司信用评级
  • 算法19.0