• SQLServer学习(附加子句查询)(三)


    1)Order By (排序)

    单个关键字排序:

    SELECT WorkNo,NAME,DeptName,InDate 
    FROM S_A_User 
    WHERE InDate IS NOT NULL 
    ORDER BY InDate DESC

    按数据录入日期进行员工排序;

    多个关键字排序:

    SELECT WorkNo,NAME,DeptName,InDate
    FROM S_A_User
    WHERE InDate IS NOT NULL
    ORDER BY DeptName DESC,InDate ASC

    使用逗号分隔,升序、降序写在排序字段之后;

    2)Group By (分组)(注意:使用Group by子句,前面的select后跟的字段必须出现在group by后面或者是写在select中的聚集函数(如sum avg等函数)中,否则会无法分组报错)

    group by 指的就是分组,那以什么字段进行分组就是by后面接的字段,就像是统计一个班学生男女各多少,就首先要将学生以性别字段进行分组,然后计数统计

    SELECT Sex,COUNT(*) FROM S_A_User GROUP BY Sex
    
    SELECT Sex,COUNT(*) FROM S_A_User WHERE DeptName LIKE '%设计管理部%' GROUP BY Sex
    View Code

    3)Having (分组后设置条件) 注意:对于分组以后的条件,一定要放到having中 

    作用:是跟在Group By子句后面,为其设置条件的

    那与Where有什么区别呢?

     如下示例代码,是选出人数大于10的部门

    SELECT DeptName,COUNT(WorkNo) FROM  S_A_User GROUP BY DeptName HAVING COUNT(WorkNo)>=10
    SELECT DeptName,COUNT(*) FROM S_A_User
    WHERE Sex='Male'
    GROUP BY DeptName HAVING COUNT(*)>10
    统计男性人数超过10的部门男性人数

    4)into (将查询出来的结果放到一张表(临时表)中)

    SELECT *
    INTO #tmpwork
    FROM S_A_User
    WHERE Sex='Male'

    #tmpwork 中的#表示临时表;

    临时表与基本表的区别:

    临时表只存在当次查询中,关闭查询后,临时表中的数据清除。

    总结

    End

  • 相关阅读:
    django orm
    CentOS7.4 安装mongodb
    Django之logging日志
    Python virtualenv虚拟环境
    不能通过IP访问Docker容器里的Django服务器
    docker学习7-Dockerfile制作自己的镜像文件
    docker学习6-docker-compose容器集群编排
    docker学习5-docker安装tomcat环境和部署war包
    docker学习4-docker安装mysql环境
    深度学习和神经网络的区别
  • 原文地址:https://www.cnblogs.com/LeeSki/p/12303776.html
Copyright © 2020-2023  润新知