码迷,mamicode.com
首页 > 数据库 > 详细

SQL 执行顺序

时间:2016-03-29 16:32:44      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:

    SQL 是一种声明式语言,与其他语言相比它的最大特点是执行顺序-并非按照语法顺序来执行。因此很多程序猿看到SQL就头疼,我之前也是这样,后来看到一篇文章后豁然开朗-地址

    理解了SQL的执行顺序无疑对我们学习SQL有很大的帮助。标准的SQL的解析顺序为:

FROM(组装来自不同数据源的数据)->WHERE(对数据源进行指定条件的筛选)->GROUP BY(对数据源进行分组)->聚合函数进行计算->HAVING(对分组结果进行筛选)->计算所有表达式->ORDER BY(对结果进行排序);每个步骤都会产生一个虚拟表,该虚拟表用于下一个步骤的输入。

    下面一个比较复杂的SQL语法表示,通过它来进一步理解SQL的执行顺序 。

(08)SELECT 
(09)DISTINCT 
(11)<Top num> <column name>
(01)FROM [Left_table]
(03)<join_type> JOIN [Right_Table]
(02)ON join_condition>
(04)WHERE <where_condition>
(05)GROUP BY <group_by_list>
(06)WITH <CUBE |ROLLUP>
(07)HAVING <having_condition>
(10)ORDER BY <order_by_column_list>
上面的sql语句执行顺序如下:

技术分享

技术分享

  最后,希望对大家有帮助。ps:好久没写博客了,怪自己太懒了,自己要坚持下去

  请关注我的github:https://github.com/khadron

SQL 执行顺序

标签:

原文地址:http://www.cnblogs.com/kongQ/p/5333066.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!