zoukankan      html  css  js  c++  java
  • SqlServer 基础知识数据检索、查询排序


    --执行顺序 From Where Select
    select * from
    (select sal as salary,comm as commission from emp ) x where salary<5000
    --得出 Name Work as a Job
    select ename +' Work as a'+job as msg from emp where deptno=10

    --如果员工工资小于2000返回UnderPaid 大于等于4k 返回OverPaid 之间返回OK
    select ename,sal,
    case when sal<2000 then 'UnderPaid'
    when sal>=4000 then 'OverPaid'
    else
    'OK'
    end
    from emp

    --从表中随机返回N条记录 newid()
    --
    order by 字句中指定数字常量时,是要求根据select列表中相应位置的列排序
    --
    order by 字句中用函数时,则按函数在没一行计算结果排序
    select top 5 ename from emp order by newid()

    --找空值is null
    select * from emp where comm is null

    --将空值转换为实际值
    --
    解释:返回其参数中第一个非空表达式
    --
    coalesce 联合,合并,结合.英音:[,kəuə'les]美音:[,koə'lɛs]
    select coalesce(comm, 1),empNo from emp

    --按模式搜索
    --
    返回匹配特定子串或模式的行
    select ename,job
    from emp
    where deptno in(10,20)

    --按子串排序 按照职位字段的 最后两个字符排序
    select ename, job from emp order by substring(job,len(job)-2,2)
    --select top 2 len(job)-2 from emp
    --
    select top 2 job from emp

    --☆☆☆☆☆处理排序空值☆☆☆☆☆ [只能是大于0]
    select ename ,sal,comm
    from emp
    order by 1 desc
    -- 以降序或升序方式排序非空值,将空值放到最后,可以用case
    select ename,sal,comm from
    (
    select ename ,sal,comm ,
    case when comm is null then 0 else 1 end as A
    from emp
    ) x
    order by A desc ,comm desc

    
    
    
    



    ---------------------------------------------2011-11-02 常见 基本的 分页SQL 语句---------------------------------------------------------
    壹:
    SELECT TOP 页大小 *
    FROM table
    WHERE id NOTIN
               (
              
    SELECT TOP 页大小*(-1) id FROM table  ORDERBY id
               )
    ORDERBY id
    贰:
    SELECT TOP 页大小 *
    FROM table
    WHERE id >
               (
              
    SELECTISNULL(MAX(id),0)
              FROM
                    (
                   
    SELECT TOP 页大小*(-1) id FROM table  ORDERBY id
                    )
    A
               )
    ORDERBY id
    叁:
    SELECT TOP 页大小 *
    FROM
             (
            
    SELECT ROW_NUMBER() OVER (ORDERBY id) AS RowNumber *FROM table
             ) A
    WHERE RowNumber > 页大小*(页数-1)
    若查询所有:SELECT  * , ROW_NUMBER() OVER (ORDERBY id) AS RowNumber *FROM table


    作者:PEPE
    出处:http://pepe.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    svn git 共存
    如何写软件设计文档
    spring boot requestbody string to date
    asp.net core 1.1 publish to a linux
    asp.net core 1.1 entityframework mysql
    [FPGA]記錄一些不錯的網站推薦給大家參考。
    [FPGA][DE0] Qsys 加入 FLASH 記憶體 方法及步驟
    [FPGA][Nios][DP83848] 網路開發筆記-軟體篇(1)
    [Nios][UART] 使用UART 的一些問題?
    [Nios][Eclipse] find_fast_cwd: WARNING: Couldn't compute FAST_CWD pointer
  • 原文地址:https://www.cnblogs.com/PEPE/p/2220750.html
Copyright © 2011-2022 走看看