T-SQL查询的逻辑工作原理(二)

2014-11-24 09:55:34 · 作者: · 浏览: 1
:这一步,逻辑上的数据结构是下面这样的,也就是说其实并没有计算。而是分组
--因为没有WITH Rollup和WITH Cube语句,所以跳过第六步,进入HAVING子句的处理
--第六步:处理HAVING子句,对GROUP之后的结果进行筛选,我们这里的条件是orderidcount<3
SELECT temp.* INTO #VT6 FROM
(SELECT * FROM #VT5 WHERE orderidcount<3) temp
SELECT * FROM #VT6
--返回2行数据
--第七步:使用SELECT 的字段列表过滤结果集
SELECT #VT6.Customer,#VT6.orderidcount as numorders INTO #VT7 FROM #VT6
SELECT * FROM #VT7
--还是2行数据,只不过只有两个列了
SELECT 返回的结果在内部其实是一个游标集,本身并没有顺序,它就好比是一个集合。
--第八步:跳过DISTINCT,进行OrderBy操作
SELECT #VT7.* INTO #VT8 FROM #VT7 Order By #VT7.Customer
SELECT * FROM #VT8
--返回2行数据,经过排序
--这个查询结束演示。完整的8个步骤