MySQL

22-SELECT 的执行过程

2022-08-19  本文已影响0人  紫荆秋雪_文

一、SELECT 执行语句格式

SELECT ...,....,... 
FROM ...,...,.... 
WHERE 多表的连接条件 
AND 不包含组函数的过滤条件 
GROUP BY ...,... 
HAVING 包含组函数的过滤条件 
ORDER BY ... ASC/DESC 
LIMIT ...,...
SELECT ...,....,... 
FROM ... 
JOIN ... ON 多表的连接条件 
JOIN ... ON ... 
WHERE 不包含组函数的过滤条件 
AND/OR 不包含组函数的过滤条件 
GROUP BY ...,... 
HAVING 包含组函数的过滤条件 
ORDER BY ... ASC/DESC 
LIMIT ...,...

二、SELECT 执行顺序

1、关键字的顺序不能颠倒

SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ... LIMIT...

2、SELECT 执行顺序

FROM -> WHERE -> GROUP BY -> HAVING -> SELECT 的字段 -> DISTINCT -> ORDER BY -> LIMIT
image.png
image.png

在 SELECT 语句执行这些步骤的时候,每个步骤都会产生一个虚拟表,然后将这个虚拟表传入下一个步骤中作为传入。需要注意的是,这些步骤隐含在 SQL 的执行过程中,对于我们来说是不可见的。

3、SQL 的执行原理

上一篇 下一篇

猜你喜欢

热点阅读