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

SQL中各个子句的执行顺序

select、from、 join、where、order by、group by、having、limit

在这里插入图片描述

解释

1) FROM (确定数据源)

查询的执行首先从FROM子句开始,确定数据的来源(表、视图、连接等)。

2) JOIN (如果有JOIN操作)

在FROM子句之后,SQL引擎会执行连接操作(JOIN),将多张表的数据结合起来。

3) WHERE (过滤行)

接下来,SQL引擎会对来自FROM和JOIN的数据进行过滤,保留符合条件的行。WHERE子句执行的是行级别的过滤。

4) GROUP BY (分组数据)

然后,SQL引擎会按照GROUP BY子句中的字段进行分组操作,将数据分为若干组。

5) HAVING (过滤组)

HAVING子句执行时会对已经分组的数据进行过滤,保留符合条件的组。与WHERE子句不同,HAVING是用于过滤分组后的数据。

6) SELECT (选择列)

在经过上述的操作后,SQL引擎会选择需要的列并进行返回。这个阶段是实际返回查询结果的地方。

7) ORDER BY (排序)

紧接着,SQL引擎会按照ORDER BY子句中指定的列对结果进行排序。

8) LIMIT (限制返回的行数)

最后,LIMIT子句限制查询结果的行数,只返回指定数量的行。

总结

①首先一定先确定数据源: from > on > join
②其次考虑条件以及聚合函数等:where > group by > 聚合函数 > having
③最后执行筛选类子句:select > distinct > order by > limit

http://www.xdnf.cn/news/9635.html

相关文章:

  • SpringBoot中解决跨域问题
  • Next.js 15 与 Apollo Client 的现代集成及性能优化
  • Web3 风控挑战重重,图数据库为何成为破局关键-悦数图数据库
  • Microsoft 推出 Magentic-UI,多智能体引领网页人机协作变革
  • Step9—Ambari Web UI 初始化安装 (Ambari3.0.0)
  • 用豆包写单元测试
  • Typescript学习教程,从入门到精通,TypeScript 泛型与类型操作详解(一)(16)
  • 2025河北秦皇岛CCPC【部分题解】
  • 开发手记:Vue 3 卷轴展开动画组件的实现与思考
  • Golang | 代理模式
  • 端口映射不通的原因有哪些?路由器设置后公网访问本地内网失败分析
  • 农业光合参数反演专栏
  • CSP 2024 提高级第一轮(CSP-S 2024)阅读程序第一题解析
  • 【Docker】技术架构演进
  • failed to bind host port for 0.0.0.0:3306
  • 【 Docker系列】 Docker部署kafka
  • 办公效率王Word批量转PDF 50 +文档一键转换保留原格式零错乱
  • GC1267F单相全波风扇电机预驱动器芯片详解
  • 精益数据分析(93/126):增长率的真相——从数据基准到科学增长策略
  • Linux 中常见的安全与权限机制
  • Vim常用快捷键
  • element-plus主题换色
  • React-native的新架构
  • unity一个箭矢的轨迹
  • 湖北理元理律师事务所:债务优化中的“生活锚点”设计
  • AI 让无人机跟踪更精准——从视觉感知到智能预测
  • HTML实战:响应式个人资料页面
  • 每日Prompt:心中的佛
  • 操作系统学习(一)——操作系统基础
  • 数据库管理与高可用-MySQL数据库操作