• Microsoft SqlServer2008技术内幕:T-Sql语言基础-读书笔记-单表查询SELECT语句元素


    1、select语句逻辑处理顺序:

    FORM

    WHERE

    GROUP BY

    HAVING

    SELECT

      OVER

      DISTINCT

      TOP

    ORDER BY

    总结:

    2、FORM子句的表名称应该带上数据库架构名称,比如:MIS.UserInfo,提高性能。查询语句中标识符非常规,用'"来分隔,比如:"MIS"."UserInfo"

    3、WHERE子句有索引的列查询效率高,返回结果是逻辑表达式为True的行,False和UNKNOWN的行不返回。

    4、GROUP BY之后,逻辑处理对象为组,每一组为一行,GROUP BY的元素唯一出现一次。select显示的列只能包括GROUP BY出现的列,其他列只能作为聚合函数(COUNT,MAX,MIN,SUM,AVG)的输入。

    5、COUNT(*),COUNT(列名)不相同,COUNT(*)包括NULL,聚合函数括弧内可以用DISTINCT

    6、SELECT子句中表达式定义别名:表达式 AS 别名,表达式= 别名,表达式 别名。如果select的列没有用","分开,则认为后面是一个别名。别名不能在逻辑处理比select靠前的语句中和select子句中。

    7、带ORDER BY的查询返回一个游标的结果。

    8、当SELECT子句中指定了DISTINCT,ORDER BY子句只能选取SELECT列表中出现的元素

    9、WITH TIES 返回与TOP n行中最后一行的排序值相同的其他行

    10、OVER子句只能在SELECT和ORDER BY中使用,能够返回基本列的同时,在同一行对基本列进行聚合。

    11、OVER子句支持四种排名函数:ROW_NUMBER(行号),RANK(之前有多少),DENSE_RANK(前面有多少),NTILE(接受一个组数,对结果集分组,为每一个行表明组号)。SELECT列表中不能同时出现ROW_NUMBER和DISTINCT。

    12、OVER括弧内可以用PARTITION BY(类似于GROUP BY),ORDER BY。

  • 相关阅读:
    videojs播放直播源rtmp时画面在左上角解决方案
    常用git操作命令
    vue使用vue-video-player在直播中的应用
    element-ui隐藏组件scrollbar的使用
    Array.reduce()学习
    阿里云物联网套件(iot)设备间通信(M2M)在web端的实践
    前端axios下载excel(二进制)
    nodejs连接阿里云物联网套件(mqtt)
    base64格式图片转换为FormData对象进行上传
    NodeJS之微信开发
  • 原文地址:https://www.cnblogs.com/xsauce/p/3541063.html
Copyright © 2020-2023  润新知