MySQL知识汇总:讲一讲MySQL中Select语句的执行顺序

MySQL 中 SELECT 语句的逻辑执行顺序
(非常重要且经常被问到的高频知识点)

MySQL 的 SELECT 语句书写顺序实际执行顺序是完全不同的,这是很多人在理解 SQL 执行过程时最容易混淆的地方。

书写顺序(我们平时怎么写的)

SELECT...,...FROM...JOIN...WHERE...GROUPBY...HAVING...ORDERBY...LIMIT...

实际逻辑执行顺序(MySQL 真正处理的顺序)

顺序关键字/子句说明是否能使用前面产生的别名执行次数
1FROM确定要查询的表/视图,并进行笛卡尔积(如果多表)1
2JOIN / ON执行各种 JOIN(LEFT/RIGHT/INNER/CROSS 等)1
3WHERE对连接后的结果集进行过滤(最早能做过滤的位置)不能使用 SELECT 中的别名1
4GROUP BY按指定字段分组(分组前会先做聚合前的排序优化)不能使用 SELECT 中的别名1
5聚合函数(COUNT/SUM等)在分组的基础上计算聚合值按分组次数
6HAVING对分组后的结果进行过滤(是唯一可以直接使用聚合函数过滤的地方)可以使用 SELECT 中的别名1
7SELECT最终决定要返回哪些列,可以使用表达式、别名、聚合函数等1
8DISTINCT去重(如果有的话)1
9ORDER BY对最终结果集排序可以使用 SELECT 中的别名1
10LIMIT / OFFSET分页限制1

简洁记忆口诀(推荐背诵)

“从哪来 → 连哪去 → 筛哪群 → 聚哪算 → 再筛哪 → 选哪列 → 排哪序 → 取哪几”

更短的版本(7个字):

从连筛聚算选排取

常见的“为什么报错”与“为什么结果不对”的典型例子

-- 错误写法1:WHERE 里不能用别名SELECTage/12ASage_yearFROMusersWHEREage_year>3;-- 报错:Unknown column 'age_year'-- 正确写法1SELECTage/12ASage_yearFROMusersHAVINGage_year>3;-- 可以(HAVING 能识别别名)-- 或使用子查询/派生表SELECT*FROM(SELECTage/12ASage_yearFROMusers)tWHEREt.age_year>3;
-- 错误写法2:ORDER BY 里能用别名,但 WHERE 不行SELECTid,COUNT(*)AScntFROMordersGROUPBYidORDERBYcntDESC;-- 正确-- 但这样不行:WHEREcnt>10-- 错误HAVINGcnt>10-- 正确

快速对照表(面试/写 SQL 必备)

想在这位置使用别名?能用别名?能用聚合函数?典型用法场景
WHERE××原始数据过滤
GROUP BY××分组字段
HAVING○(MySQL特有)分组后过滤
SELECT—(自己定义)决定输出列
ORDER BY排序(最常用别名的地方)
LIMIT分页

2024-2025 年常考变种问题

  1. WHERE 和 HAVING 区别(背诵经典回答)
  2. GROUP BY + ORDER BY 的隐含排序(MySQL 5.7 之前默认按 GROUP BY 排序,8.0 之后取消了)
  3. 窗口函数(OVER)是在哪个阶段执行的?(SELECT 阶段之后,但 ORDER BY 之前)
  4. 同一个查询里 HAVING 能用别名,WHERE 为什么不行?(因为执行顺序不同)

一句话总结(可以直接用来回答面试):

MySQL SELECT 语句的逻辑执行顺序是:
FROM → JOIN → WHERE → GROUP BY → 聚合 → HAVING → SELECT → DISTINCT → ORDER BY → LIMIT

这个顺序几乎决定了你在 SQL 里能写什么、不能写什么、写在哪里

需要我继续讲更深入的执行细节吗?
比如:

  • 实际物理执行计划可能怎么优化这个逻辑顺序
  • 窗口函数、子查询、CTE 分别在哪个阶段介入
  • 为什么很多 DBA 更喜欢把过滤条件写在 FROM 子句的 JOIN ON 里而不是 WHERE

告诉我你想往哪个方向继续深入~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1170035.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2026最新农业名牌访谈录推荐!国内畜牧业/区域特色农业权威访谈机构榜单发布,深度解析产业发展助力品牌升级 - 品牌推荐2026

引言 随着乡村振兴战略深入推进,农产品品牌化已成为提升产业价值、促进农民增收的核心路径。据农业农村部最新数据显示,全国农产品区域公用品牌数量已超3000个,但具备市场竞争力的头部品牌占比不足15%,品牌同质化、…

Linux内核TCP网络模块深度分析

Linux 内核 TCP 网络模块深度分析(2026 年视角) 在 2026 年,Linux 内核(主流版本 6.8~7.x)中的 TCP 模块仍是网络栈的核心,负责可靠的、面向连接的传输层协议实现。它高度优化,支持高并发、低延…

【图像融合】基于matlab GUI小波变换红外和可见光图像融合(含评价指标)【含Matlab源码 14958期】

💥💥💥💥💥💥💞💞💞💞💞💞💞💞欢迎来到海神之光博客之家💞💞💞&#x1f49…

2026最新农产品区域公用品牌服务推荐!中国农业特色产业/区域特色农业/地理标志农产品权威服务机构榜单发布,助力农业品牌高质量发展 - 品牌推荐2026

引言 随着乡村振兴战略深入推进,农业特色产业已成为县域经济增长的核心引擎,农产品区域公用品牌作为连接小农户与大市场的关键纽带,其建设水平直接关系产业链价值提升与农民增收实效。据农业农村部市场与信息化司最…

《Spring核心机制》第六篇:一篇读懂SPI

《Spring核心机制》第六篇:一篇读懂 SPI 在 Spring 生态中,经常听到一句话: “Spring 之所以强大,很大程度上是因为它把扩展点做得非常彻底,而这些扩展点绝大多数都是通过 SPI 机制来实现的。” 今天我们就来彻底搞清…

ACP:1.让 AI 工具配置与能力管理,真正走向体系化

ACP:让 AI 工具配置与能力管理,真正走向体系化 如果你已经把 AI 编程工具当成了日常生产力的一部分,那么你大概率遇到过这样一种情况:这个项目里,Agent 角色是为某个工具单独调的 Prompt 模板在不同 IDE 之间来回…

【图像融合】基于matlab高分辨率全色图IHS图像融合(含评价指标)【含Matlab源码 14959期】

💥💥💥💥💥💥💞💞💞💞💞💞💞💞欢迎来到海神之光博客之家💞💞💞&#x1f49…

时间序列因果推断:顶会发文的 “黄金赛道”,新手也能上手

时间序列因果推断是当前机器学习与统计学交叉领域的热点方向,在 ICML、NeurIPS、ICLR、KDD、AAAI 等顶会中发文量持续攀升,对新手友好且创新空间大,整体属于 “好发论文” 的领域,核心原因如下:一、为什么 “好发”&am…

测试用例管理怎么做度量?6个指标思路和工具对比

本文将深入对比6款测试用例管理工具:PingCode、Worktile、Tricentis qTest、Azure DevOps Test Plans、Zephyr Scale、Xray。一、测试用例管理为什么会变成“质量瓶颈”很多团队的测试用例管理,最初看起来都不难:几份文档、一个表格&#xff…

深入了解 Python 中的 Scrapy:强大的网络爬虫框架

什么是 Scrapy? Scrapy 是一个基于 Python 的高级网络爬虫框架,专门用于从网页中抓取数据(也称为“网络抓取”或“网页采集”)。它最初由 Scrapinghub 公司开发并开源,现已成为 Python 社区中最广泛使用的爬虫框架之一…

【图像融合】高分辨率全色图IHS图像融合(含评价指标)【含Matlab源码 14959期】

💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab武动乾坤博客之家💞…

产品方案评审前一晚,我让AI先帮我当了一次“领导”

引言产品方案已经写完了,但到了评审前一晚,很多产品经理还是会下意识地再打开一遍文档看看。不是怕讲不清楚,而是总觉得会有没考虑周全的地方。不知道方案会被从哪个角度质疑?会不会有一个关键问题,曾经完全没想到&…

【Linux】五种IO模型与非阻塞IO

Linux 五种 IO 模型 非阻塞 IO 的完整梳理 (2025-2026 面试/实战最常考版本) Linux 下最经典的五种 IO 模型,几乎是所有中高级后端/网络编程面试必问内容。 序号IO 模型名称阻塞阶段进程在内核等待数据时是否阻塞?进程在数据从…

救命神器!8款AI论文软件测评:本科生毕业论文痛点全解决

救命神器!8款AI论文软件测评:本科生毕业论文痛点全解决 2026年AI论文工具测评:为何需要这份榜单? 随着人工智能技术的不断进步,越来越多的本科生开始依赖AI论文工具来提升写作效率和论文质量。然而,面对市场…

多模融合时代,文档数据库正在被重新定义——金仓数据库如何构建新一代文档数据底座

目录 性能对标主流:不只是可用,更要好用 对比 Oracle:文档能力同样具备竞争力 内核融合:多模能力不是“拼装”,而是原生一体 1. 企业级一致性与可靠性原生继承 2. 统一查询优化与索引体系 3. 真正的“多模一体”…

进程间通信(IPC)完全指南:原理、实现与最佳实践

进程间通信(IPC)完全指南:原理、实现与最佳实践 在2026年的操作系统与分布式系统中,进程间通信(IPC) 仍是核心机制,尤其在多核、多进程环境、多容器化(如Docker/Kubernetes&#xf…

2026国内最新爆款裤料品牌top5推荐!广东广州等地优质裤料供应商权威榜单发布,创新工艺与品质保障助力服饰产业升级 - 品牌推荐2026

2026最新爆款裤料推荐!国内优质裤料供应商权威榜单发布,创新工艺与品质保障助力服饰产业升级 广州/广东爆款裤料服务公司推荐 引言 随着快时尚产业迭代加速与消费需求个性化升级,服饰品牌对裤装面料的功能性、定制灵…

亲测好用9个AI论文平台,助你轻松搞定本科毕业论文!

亲测好用9个AI论文平台,助你轻松搞定本科毕业论文! AI 工具如何帮你轻松应对论文写作难题 对于很多本科生来说,写论文不仅是一项学术任务,更是一场心理和时间的双重挑战。从选题、查资料到撰写、修改,每一步都可能让人…

【图像融合】小波变换红外和可见光图像融合(含评价指标)【含GUI Matlab源码 14958期】

💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab武动乾坤博客之家💞…

AI智慧餐食机物联网平台懒人专属寻投资人

AI智慧餐食机物联网平台懒人专属寻投资人智慧餐食机物联网平台的功能结构 该架构遵循分层设计原则,从设备端到用户端,层层递进,保证系统的解耦和可扩展性。 ​核心设计理念:​​ 平台化、模块化、微服务架构。所有…