您的位置:首页 > 数据库 > MySQL

select执行顺序

2017-02-15 14:39 176 查看
一、select查询的语句顺序

SELECT ... FROM tbl1, tbl2, WHERE ... GROUP BY ... HAVING ... ORDER BY(ASC | DESC)

二、执行顺序

1、FROM:对FROM子句中前两个表执行笛卡尔积生成虚拟表vt1

2、ON:对vt1表应用ON筛选器只有满足join_condition为真的行才被插入vt2

3、OUTER(JOIN):关联表,保留外部行vt3

4、WHERE:对vt3进行筛选只有满足条件的行才被插入vt4

5、GROUP BY:按GROUP BY 子句中的列,对vt4中的行分组生成vt5

6、HAVING:对vt5进行筛选,满足条件插入vt5,生成vt6

7、SELECT:处理select列表产生vt7

8、DISTINCT:将重复的行从vt7中去除产生vt8

9、ORDER BY:将vt8的行按order by 子句中的列排序生成vt9

10、LIMIT:对vt9进行分页
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MySQL select 执行顺序