zoukankan      html  css  js  c++  java
  • (笔记)《SQL 2005 技术内幕 TSQL查询》第一章 逻辑查询处理

    这一章最重要的就是那个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)

  • 相关阅读:
    python03-if
    python03
    基础知识梳理
    开篇话
    托管代码---> CLR --> 自宿主
    反射定义及基础案例
    c# 中委托的发展
    委托代码案例
    委托(实例)
    字节(Byte) 与 位(bit)
  • 原文地址:https://www.cnblogs.com/Jax/p/1424492.html
Copyright © 2011-2022 走看看