zoukankan      html  css  js  c++  java
  • SQL(一)

     
          一,SQL语句执行顺序:FROM,WHERE,GROUP BY,HAVING,SELECT,ORDER BY。这意味着对于SELECT子句之前处理的那些句子,在SELECT中为其分配的别名并不存在。不如以下这就是无效应用的一个例子:
     
                                    SELECT order,YEAR(orderdate) AS orderyear
                                    FROM salary.orders
                                    WHERE orderyear>2006
         二,NULL值。SQL使用的是三值谓词逻辑:TRUE,FALSE,UNKNOWN。SQL对查询过滤条件处理的正确定义是“接受TRUE”(意味着虑掉UNKNOWN和FALSE),对CHECK约束处理的正确定义是“拒绝FALSE”(意味着接受TRUE和UNKNOWN),UNKNOWN 的微妙之处是对它取反时结果仍是KNOWN,例如,NOT(salary>0),当salary为NULL时,salary>0的结果仍是UNKNOWN,NULL=NULL也是KNOWN等,因此,SQL提供了IS NULL和IS NOT NULL 两个谓词用来取代=NULL和<>NULL。但是,在分组和排序时SQL认为NULL值是相等的,也就是说GROUP BY字句会认为相同列为NULL的是同一组的。ORDER BY也会对所有NULL进行排序,T-SQL把NULL值排在了有效值之前。
         三,同时操作(all-at-once-operation)
    SQL中,同一逻辑处理阶段中出现的所有逻辑表达式都是同时进行计算的,例如下面查询就是无效的:
                                        SELECT ORDERID, YEAR(orderdate)AS date,date+1 AS nextdate
                                        FROM Salary.Orders
  • 相关阅读:
    vi 命令 使用方法
    再论C++之垃圾回收(GC)
    Iterative (non-recursive) Quick Sort
    DirectSound的应用
    JavaScript也能求爱哦
    lol匹配算法
    一年成为Emacs高手(像神一样使用编辑器)
    SSH深度历险(四) Maven初步学�
    char* 和char[]的差别
    数据仓库与数据挖掘的一些基本概念
  • 原文地址:https://www.cnblogs.com/ymy124/p/2265172.html
Copyright © 2011-2022 走看看