SQL Select语句完整的执行顺序:
1、from子句组装来自不同数据源的数据;
2、where子句基于指定的条件对记录行进行筛选;
3、group by子句将数据划分为多个分组;
4、使用聚集函数进行计算;
5、使用having子句筛选分组;
6、计算所有的表达式;
7、使用order by对结果集进行排序。
见鬼的是里面没有提到 “select”这个关键字。我之前跟同学讨论,认为它应该是在最后执行,,因为觉得应该是等条件都执行完毕了再取数据——但是也没有找到什么确切的证 据。今天跟另外一位女同学讨论了这个东西,果然女同志比较细心,她对“select”提了别的意见。于是我也开始动摇了,,因为orderby是要判断 select里的有没有包含orderby后的字段的。这个时候中文搜索也只能找到如上内容了,只好动用英文搜索,搜索关键字:sql Execute order,果然找到一个结果:
- FROM clause
- WHERE clause
- GROUP BY clause
- HAVING clause
- SELECT clause
- ORDER BY clause
这个答案我觉得才是合理的答案。