博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

sql 执行顺序【转载】

Posted on 2011-05-10 11:00  itcfj  阅读(249)  评论(0)    收藏  举报

SQL Select语句完整的执行顺序:

1、from子句组装来自不同数据源的数据;
2、where子句基于指定的条件对记录行进行筛选;
3、group by子句将数据划分为多个分组;
4、使用聚集函数进行计算;
5、使用having子句筛选分组;
6、计算所有的表达式;
7、使用order by对结果集进行排序。

见鬼的是里面没有提到 “select”这个关键字。我之前跟同学讨论,认为它应该是在最后执行,,因为觉得应该是等条件都执行完毕了再取数据——但是也没有找到什么确切的证 据。今天跟另外一位女同学讨论了这个东西,果然女同志比较细心,她对“select”提了别的意见。于是我也开始动摇了,,因为orderby是要判断 select里的有没有包含orderby后的字段的。这个时候中文搜索也只能找到如上内容了,只好动用英文搜索,搜索关键字:sql Execute order,果然找到一个结果:

  1. FROM clause
  2. WHERE clause
  3. GROUP BY clause
  4. HAVING clause
  5. SELECT clause
  6. ORDER BY clause

这个答案我觉得才是合理的答案。