(笔记)《SQL 2005 技术内幕 T-SQL查询》第一章 逻辑查询处理

这一章最重要的就是那个SQL处理顺序了:

(8)  SELECT (9) DISTINCT (11) <TOP_specification> <select_list>
(1)  FROM <left_table>
(3)    <join_type> JOIN <right_table>
(2)      ON <join_condition>
(4)  WHERE <where_condition>
(5)  GROUP BY <group_by_list>
(6)  WITH {CUBE | ROLLUP}
(7)  HAVING <having_condition>
(10) ORDER BY <order_by_list>

其中几个细节,如下:

三值逻辑:TRUE、FALSE和UNKNOWN,其中UNKNOWN的运算尤其值得注意(查询筛选器on、where和having将UNKNOWN视为FALSE;Check约束中的UNKNOWN视为True)。

Where中不能使用聚合筛选器,因为Where在Group之前。

步骤1-3会循环执行,直到所有外部表被遍历过。

On和Where的区别

Group By All的用法

Order By返回一个游标

本章的最后概述了SQL2005的几个新语法,详细在4、5、6章讨论:

表运算符:Join(原先就有)、Apply、Pivot、Unpivot,

Over子句

集合操作(Except和Intersect)

posted @ 2009-03-29 17:16  包建强  Views(789)  Comments(0Edit  收藏  举报