SQL Server order by语句学习回顾
主要学习:
SELECT ENAME,JOB,SAL
FROM EMP
WHERE DEPTNO=10
ORDER BY SAL DESC;
SELECT ENAME,JOB,SAL
FROM EMP
WHERE DEPTNO=10
ORDER BY 3 DESC;
ORDER BY子句中的3,与SELECT列表中的第3列对应,也就是SAL。{注意:不推荐使用列的编号进行排序}
具体实例2---按多个字段排序
SELECT DEPTNO ,
ENAME ,
JOB ,
SAL ,
COMM
FROM EMP
WHERE DEPTNO<=20
ORDER BY SAL ASC,
COMM DESC
可以使用SELECT列表中没有的列来排序,但是在ORDER BY子句中必须显示地给出排序的列名。
如果在查询中使用GROUP BY或DISTINCT,则不能按照SELECT列表中没有的列来排序。
具体实例3---按字串排序
在ORDER BY子句中使用SUBSTRING函数:
SELECT DEPTNO ,
ENAME ,
JOB
FROM EMP
ORDER BY SUBSTRING(ENAME, LEN(ENAME),1) DESC ,
SUBSTRING(JOB,LEN(JOB),1) ASC;
也可以写成:ORDER BY LEFT(ENAME,1) DESC ,
LEFT(JOB,1) ASC;
使用DBMS的子串函数,可以很容易地按字符串的一部分来排序。要按照字符串的最后两个字符排序,首先要找到字符串的末尾(就是字符串的长度),并减去2。起始位置就是字符串中的倒数第2个字符。然后,获取从起始位置开始的所有字符。SQL Server在SUBSTRING中需要第3个参数来指定要获取的字符数。
具体实例4---处理排序空值
在EMP中根据COMM排序结果,但是这个字段可以有空值,需要指定是否将空值排在最前,或者将空值排在最后。
SELECT ENAME, SAL, COMM
FROM EMP
ORDER BY COMM;
结果:
具体实例4---处理排序空值
SELECT ENAME,
SAL,
COMM
FROM (SELECT ENAME, SAL, COMM,
CASE WHEN COMM IS NULL THEN 0
ELSE 1 END AS IS_NULL FROM EMP) X
ORDER BY IS_NULL DESC, COMM;
SELECT ENAME,
SAL,
COMM
FROM (SELECT ENAME, SAL, COMM,
CASE WHEN COMM IS NULL THEN 0
ELSE 1 END AS IS_NULL FROM EMP) X
ORDER BY IS_NULL DESC,
COMM DESC;
SELECT ENAME,
SAL,
COMM
FROM (SELECT ENAME, SAL, COMM,
CASE WHEN COMM IS NULL THEN 0
ELSE 1 END AS IS_NULL FROM EMP) X
ORDER BY IS_NULL, COMM;
SELECT ENAME,
SAL,
COMM
FROM (SELECT ENAME, SAL, COMM,
CASE WHEN COMM IS NULL THEN 0
ELSE 1 END AS IS_NULL FROM EMP) X
ORDER BY IS_NULL,
COMM DESC;
空值相关:
SELECT ENAME,
SAL,
COMM,
CASE WHEN COMM IS NULL THEN 0
ELSE 1
END AS IS_NULL
FROM EMP;
根据IS_NULL的值,可以很容易地将NULL排在最前面或最后面,而不影响COMM如何排序
具体实例5---根据数据项的键排序
可以使用CASE表达式来动态改变如何对结果排序。传递给ORDER BY的值类似这样
SELECT ENAME,
SAL,
JOB,
COMM,
CASE WHEN JOB='SALESMAN' THEN COMM
ELSE SAL
END AS ORDERED
FROM EMP
ORDER BY ORDERED;
SQL Server order by语句学习回顾的更多相关文章
- SQL server 查看什么语句在使用临时表
SQL server 查询那些语句在使用临时表 最近在日常的性能测试工作中发现,数据库端的IO读写比较大,有规律的2-8M的波动,数据库的版本为 SQL server 2008 sp3. 这些IO操作 ...
- 【转载】SQL Server - 使用 Merge 语句实现表数据之间的对比同步
原文地址:SQL Server - 使用 Merge 语句实现表数据之间的对比同步 表数据之间的同步有很多种实现方式,比如删除然后重新 INSERT,或者写一些其它的分支条件判断再加以 INSERT ...
- Sql server的Merge语句,源表中如果有重复数据会导致执行报错
用过sql server的Merge语句的开发人员都应该很清楚Merge用来做表数据的插入/更新是非常方便的,但是其中有一个问题值得关注,那就是Merge语句中的源表中不能出现重复的数据,我们举例来说 ...
- SQL Server ---T-SQl基本语句
T-SQL 是 SQL-Server 的结构化查询语言. 基本数据操作语言. 基础语句 先创建表 我后面的列子都是用的这一个表,列名啥的 就大概看看吧~~ 纯粹为了学习语句,语法~~所以先创建个表吧~ ...
- SQL Server 基本SELECT语句
1.SELECT 和 FROM 语句 SELECT表示执行的是查询,接着需要更知道从哪边查询数据,FROM就是限制读取的数据在哪一个表或哪几个表中,这样就构成了一个基本语句. SELECT * FRO ...
- SQL Server读懂语句运行的统计信息 SET STATISTICS TIME IO PROFILE ON
对于语句的运行,除了执行计划本身,还有一些其他因素要考虑,例如语句的编译时间.执行时间.做了多少次磁盘读等. 如果DBA能够把问题语句单独测试运行,可以在运行前打开下面这三个开关,收集语句运行的统计信 ...
- SQL Server中CURD语句的锁流程分析
我只在数据库选项已开启“行版本控制的已提交读”(READ_COMMITTED_SNAPSHOT为ON)中进行了观察. 因此只适用于这种环境的数据库. 该类数据库支持四种不同事务隔离级别,下面分别观察数 ...
- SQL Server与Oracle对比学习:权限管理(一)
http://blog.csdn.net/weiwenhp/article/details/8093661 我们发现我们现在的生活中到处是涉及到密码,你要记各种各样的密码.比如银行卡,邮件,QQ,微博 ...
- SQL Server与Oracle对比学习:表的管理和组织
http://blog.csdn.net/weiwenhp/article/details/8088979 我们知道数据库,顾名思义.最重要的东东就是管理数据,而数据在系统中主要是保存在表(table ...
随机推荐
- C#4.0 特性
动态绑定 命名和可选参数 泛型的协变和逆变 互操作性 动态支持 Office 可编程性 类型等效性支持 协变和逆变 当类型为dynamic的视图模型遭遇匿名对象 https://msdn.micros ...
- PHP预编译处理技术简介
1.提高数据库的效率:减少编译次数,减少连接次数.当出现当量操作sql语句,比如大量将数据插入数据库中,原来的那种单个执行sql语句或者批量执行sql语句的做法,显然是不可行的,因为无论是单个执行还是 ...
- OC第二节 —— NSString和NSMutableString
1.为什么需要NSString对象 答:在OC中创建字符串时,一般不使用C的方法, 因为C将字符串作为字符数组,所以在操作时会有很多不方便的地方, 在Cocoa中NSStri ...
- oracle数据库启动
遇到个白痴问题,放假停电,回来时启动数据库,发现无法进入oracle管理员界面. 如下输入,但是显示的命令无效. [oracle@crm001 database]$ sqlplus / as sysd ...
- Mac 命令
1.du 获取某个目录下各个文件和子目录占用多少空间,可以输入:du -sh *
- qt 的简介与使用
1.图形类的构造,都是通过类的构造函数以及界面初始化这两部分 2.在qtcreator的界面编辑器通过“提升类”的方法,要确定头文件的路径是否正确 3.点击窗口关闭时,销毁窗口内容时,设置属性-> ...
- Java(Android)线程池
1.new Thread的弊端执行一个异步任务你还只是如下new Thread吗? new Thread(new Runnable() { @Override public void run() ...
- Unity手游之路<一>C#版本Protobuf
http://blog.csdn.net/janeky/article/details/17104877 个游戏包含了各种数据,包括本地数据和与服务端通信的数据.今天我们来谈谈如何存储数据,以及客户端 ...
- iOS 不规则的ImageView
http://blog.csdn.net/kevinpake/article/details/41205715 我们在做iOS开发的时候,往往需要实现不规则形状的头像,如: 那如何去实现? 通常图片都 ...
- leetcode 100. Same Tree
Given two binary trees, write a function to check if they are equal or not. Two binary trees are con ...