SQL 执行顺序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 执行顺序相关的知识,希望对你有一定的参考价值。

    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 执行顺序的主要内容,如果未能解决你的问题,请参考以下文章

[zz]sql语句执行顺序

sql执行顺序

场景应用:SQL的执行顺序是怎样的?

shell if 语句

SQL查询语句执行顺序

SQL Server 查询处理中的各个阶段(SQL执行顺序)