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

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

相关文章:

  • 亚远景-ISO 21434标准:汽车网络安全实践的落地指南
  • DBus总线详解
  • c++ 拷贝构造函数
  • vue 中的ref属性
  • Grafana-Gauge仪表盘
  • git配置(1): 根据remote自动选择账号执行commit
  • 【掌握文件操作】(下):文件的顺序读写、文件的随机读写、文件读取结束的判定、文件缓冲区
  • C++异常处理机制
  • :inline=“true“会发生什么
  • 酒店用品源头厂家推荐
  • SQL中的锁机制
  • mybatis的mapper对应的xml写法
  • 如何解决网站服务器的异常问题?
  • Gin项目脚手架与标配组件
  • 网站服务器出现异常的原因是什么?
  • 回头看,FPGA+RK3576方案的功耗性能优势
  • 网站缓存入门与实战:浏览器与Nginx/Apache服务器端缓存,让网站速度起飞!(2025)
  • Nginx代理、缓存与Rewrite
  • 智能驾驶感知算法任务简介
  • 2025年渗透测试面试题总结-匿名[校招]安全工程师(甲方)(题目+回答)
  • 大网站如何优化/石家庄seo按天扣费
  • 淄博网站建设电话/南宁seo推广公司
  • 阜新市住房和城乡建设委员会网站/网站seo外链平台
  • 网站推广方法主要有哪几种/免费论坛建站系统
  • 墙绘网站建设/站长之家 站长工具
  • 学建筑的女生后悔吗/搜索引擎优化的英文缩写是什么