sql查询语句的执行顺序

来源:互联网 发布:mac os.ios镜像文件 编辑:程序博客网 时间:2024/05/21 18:47

sql查询语句的处理步骤如下:

--查询组合字段(5)select (5-2) distinct(5-3) top(<top_specification>)(5-1)<select_list>--连表(1)from (1-J)<left_table><join_type> join <right_table> on <on_predicate>        (1-A)<left_table><apply_type> apply <right_table_expression> as <alias>        (1-P)<left_table> pivot (<pivot_specification>) as <alias>        (1-U)<left_table> unpivot (<unpivot_specification>) as <alias>--查询条件(2)where <where_pridicate>--分组(3)group by <group_by_specification>--分组条件(4)having<having_predicate>--排序(6)order by<order_by_list>

说明:
1、顺序为有1-6,6个大步骤,然后细分,5-1,5-2,5-3,由小变大顺序,1-J,1-A,1-P,1-U,为并行次序。如果不够明白,接下来再来个流程图看看。

2、执行过程中也会相应的产生多个虚拟表(下面会有提到),以配合最终的正确查询。

3、聚合函数在5-1时执行。

sql查询语句处理步骤流程图:

这里写图片描述
博文转载自:http://blog.csdn.net/bitcarmanlee/article/details/51004767

0 0