mysql查询执行顺序

7 SELECT

8 DISTINCT

selcet_list

1 FROM 

3 JOIN
2 ON
4 WHERE
5 GROUP BY
6 HAVING
9 ORDER BY
10 LIMIT

注:每个步骤都会产生一个虚拟表,用于下一个步骤的输入;如果该步骤则会跳过。
VT:在下文中表示虚拟表(对于客户端是透明的)
1步:FROM 如果有关联则产生两表的笛卡尔积虚拟表VT1
2步:ON 针对 VT1 进行条件过滤,满足条件的保存到VT2中
3步:JOIN 对照关联类型保留外部行 VT3
4步:WHERE 条件判断 VT4
5步:GROUP BY 分组 VT5
6步:HAVING 对分组的VT5过滤条件 VT6
7步:SELECT 查询结果指定 VT7
8步:DISTINCT 去重复 VT8
9步:ORDER BY 排序 VT9
10步:LIMIT VT10


注:个人总结,如有不对的地方,请指教。
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gao_yx602/article/details/52204380
文章标签: mysql 执行顺序
个人分类: mysql随笔
博主设置当前文章不允许评论。

没有更多推荐了,返回首页

关闭
关闭
关闭