首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL select语句的不同部分的执行顺序是什么?

SQL select语句的不同部分的执行顺序是什么?
EN

Stack Overflow用户
提问于 2010-04-12 00:10:30
回答 3查看 10.7K关注 0票数 10

SQL select语句的不同部分的执行顺序是什么?比如

不同的

从…

排序依据

分组依据

拥有

多行函数(count,avg,max,min...)

top(sql服务器)或limit(mysql)

其他部分

不同的数据库是否具有相同的执行顺序?非常感谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-12 00:15:11

看一看

SQL SERVER – Logical Query Processing Phases – Order of Statement Execution

  1. FROM
  2. ON
  3. OUTER
  4. WHERE
  5. GROUP BY
  6. CUBE | ROLLUP
  7. HAVING
  8. SELECT
  9. DISTINCT
  10. ORDER BY
  11. TOP

另外,有关一些有用的信息,请参阅Logical Query Processing

票数 15
EN

Stack Overflow用户

发布于 2013-08-07 23:06:56

上面的答案解决了这个问题,但上面提到的顺序有一个例外

当你有了

选择前n个............

排序依据

然后,在select之前执行order by。(首先对条目进行排序,然后选择前n个条目)

票数 2
EN

Stack Overflow用户

发布于 2015-12-30 18:01:13

有关更好的解释,请访问

下列步骤显示SELECT语句的逻辑处理顺序或绑定顺序。此顺序确定在一个步骤中定义的对象何时可用于后续步骤中的子句。例如,如果查询处理器可以绑定(访问) FROM子句中定义的表或视图,则所有后续步骤都可以使用这些对象及其列。相反,因为SELECT子句是步骤8,所以在该子句中定义的任何列别名或派生列都不能被前面的子句引用。但是,它们可以被后续子句引用,例如ORDER by子句。请注意,语句的实际物理执行由查询处理器决定,顺序可能与此列表不同。

从…

在……上面

加入

哪里

分组依据

使用CUBE或使用ROLLUP

拥有

选择

不同的

排序依据

顶部

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2617661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档