select语句执行顺序

SELECT的定义格式为:

SELECT[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]…
FROM<表名或视图名>[,<表名或视图名>]…
[WHERE<条件表达式>]
[GROUP BY<列名1>][HAVING<条件表达式>]
[ORDER BY<列名2>][ASC|DESC]

0、先执行子查询。
1、from子句组装来自不同数据源的数据;
2、where子句基于指定的条件对记录行进行筛选;
3、group by子句将数据划分为多个分组;如果group by包含多个列,再分组;
4、使用聚集函数进行计算;对每个分组进行计算;
5、使用having子句筛选分组;
6、计算所有的表达式;
7、返回select选择的列;
8、使用order by对结果集进行排序。
继续阅读select语句执行顺序