开发者

What's the execute order of the different parts of a SQL select statement?

What's the execute order of the different parts of a SQL select statement? Such as

distinct

from

order by

group by

having

multiline function(count, avg, max, min...)

top(sql server开发者_如何学JAVA) or limit(mysql)

other parts

Does the different databases have the same execution order? Great thanks.


Have a look at

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

Also, for some good info see Logical Query Processing


The above answer addresses the question but there is one exception to the above mentioned order

when you have

select top n ............

order by

Then, order by will be executed before select. ( the entries are ordered first and then the top n entries are selected)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜