T-SQL 逻辑查询的各阶段
复习一下t-sql 逻辑查询语句各个阶段是如何执行的
大多数编程语言中代码是按照编写的顺序来处理的,但在sql 中却不是按照顺序来执行
如下图所示
流程图:
From阶段表运算符Apply、Pivot、Unpivot不是ANSI标准,它是T-SQL中特有的扩展,用法也跟join差不多,关键字左右两边各有一个表作为输入,所有运算结果以虚拟表形式作为左输入继续与第二个表运算符运算,以此类推。
表表达式可以表示许多对象:真实的表,临时表,表变量,派生表,CTE,视图,表值函数
Apply:把右表表达式应用于左输入的每一行,右表表达式可以引用左输入中的列,对于左表的每一行,都要计算一次右边输入的表达式,这一步会把左边的每一行和来自右表达式的相应行进行匹配,并将生成的结果集合合并起来,返回组合后的结果。
Pivot:用于在列和行之间对数据进行旋转和透视转换,同时执行聚合运算,Unpivot则与之相反