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

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.lryc.cn/news/2396011.html

相关文章:

  • PHP下实现RSA的加密,解密,加签和验签
  • 本地部署消息代理软件 RabbitMQ 并实现外部访问( Windows 版本 )
  • 每日c/c++题 备战蓝桥杯(P2240 【深基12.例1】部分背包问题)
  • Java异步编程:CompletionStage接口详解
  • Java后端接受前端数据的几种方法
  • Oracle OCP认证的技术定位怎么样?
  • powershell7.5@.net环境@pwsh7.5在部分windows10系统下的运行问题
  • 基于微信小程序的垃圾分类系统
  • CSS3 渐变、阴影和遮罩的使用
  • Spring Boot 全局配置文件优先级
  • 流媒体基础解析:视频清晰度的关键因素
  • grid网格布局
  • C#数字金额转中文大写金额:代码解析
  • Vehicle HAL(2)--Vehicle HAL 的启动
  • JS中的函数防抖和节流:提升性能的关键技术
  • Android Compose开发架构选择指南:单Activity vs 多Activity
  • 【Netty系列】Reactor 模式 1
  • vue3 el-input type=“textarea“ 字体样式 及高度设置
  • 并发解析hea,转为pdf格式
  • 【C语言】详解 指针
  • RabbitMQ仲裁队列高可用架构解析
  • 刚出炉热乎的。UniApp X 封装 uni.request
  • Apache Kafka 实现原理深度解析:生产、存储与消费全流程
  • Python 训练营打卡 Day 41
  • leetcode付费题 353. 贪吃蛇游戏解题思路
  • CCPC dongbei 2025 I
  • 系统性学习C语言-第十三讲-深入理解指针(3)
  • 代理模式核心概念
  • uni-app学习笔记十五-vue3页面生命周期(二)
  • 贪心算法实战篇2