《SQL经典实例》读书笔记二

本文是《SQL经典实例》第二章的读书笔记,详细讲解了如何进行查询结果排序,包括按指定顺序、多字段、子串、字母数字混合列、NULL值处理以及依据条件逻辑动态调整排序的方法。
摘要由CSDN通过智能技术生成

第二章:查询结果排序

2.1以指定顺序返回查询结果

你想显示部门编号为 10 的员工的名字、职位和工资,并根据工资从低到高排序。

SELECT ename,job,sal
FROM emp
WHERE deptno=10
ORDER BY sal ASC

ORDER BY 子句可以对结果集排序。本实例针对 SAL 按照升序排列。默认情况下,ORDER BY会做升序排列,因此 ASC 子句是可选项。相应地,也可以通过指定 DESC 执行降序排列.

2.2 多字段排序

针对 EMP 表的数据,你想先按照 DEPTNO 升序排列,然后再按照 SAL 降序排列。

SELECT *
FROM emp
ORDER BY deptno ,sal DESC

2.3依据子串排序

你希望从 EMP 表检索员工的名字和职位,并且按照职位字段的最后两个字符对检索结果进行排序。

SELECT ename,job
FROM emp
ORDER BY SUBSTR(job,length(job)-2)

要想按照一个字符串的最后两个字符排序,需要先找到该字符串的结尾处(即字符串的长度),然后减去 2。这样,起始位置就是该字符串的倒数第 2 个字符。然后,你就可以截取从指定起始位置开始直到字符串结束的所有字符。

2.4 对含有字母和数字的列进行排序

2.5排序时对NULL值的处理

你可能想把非 Null 值以升序排列或降序排列&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值