SQL.Cookbook 读书笔记2 查询结果排序
2024-08-27 23:07:42
第二章 查询结果排序
2.1 按查询字段排序
select ename,job,sal from emp where deptno = 10 order by sal asc;
select ename,job,sal from emp order by deptno, 3 desc;-- 3表示sal
2.2 按子串查询
select ename,job from emp order by substring(job,length(job)-2);--按job的最后两个字符排序
2.3 对字符数字混合排序
create view v as select ename ||' ' ||deptno as data from emp;--创建视图
select * from v;
创建视图后把两个字段链接成一个字符串 利用translate()函数把数字或者字符替换 然后排序
select data from v order by replace(replace(translate(data,'','##########'),'#',' '),' ') -- 按数字排序 把字符替换成 ' '
select data from v order by replace(translate(data,'','##########'),'#',' ') -- 按字符排序 把数字替换成 ' '
2.4NULL 值排序问题
NULL在排序的时候是无限大的 但想要在降序排序中将NULL放在后面 就使用case控制
MYSQL
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;-- 降序null 放在最后
ORACLE
select ename,sal,comm from emp order by comm nulls last;-- nulls first
2.5 根据数据项的键排序
select ename,sal,job,comm,case when job='SALESMAN' then comm else sal end as ordered from emp order by 5;-- 把SALESMAN的comm值拿到和sal做排序
最新文章
- 【原创】loadrunner12.53 录制脚本时 打不开网页或者打开网页慢?
- 让UserControl能显示焦点状态
- Mysql --分区表(2)
- Windows与Linux/Mac系统时间不一致的解决方法
- imageNamed 与 imageWithContentsOfFile的区别
- ural 1221
- SQLite使用教程4 创建数据库
- spring aop原理分析
- javascript 学习随笔7
- python sklearn PCA源码阅读:参数n_components的设置(设为‘mle’出错的原因)
- RSA关于加密长度限制的解决办法
- java容器类3:set/HastSet/MapSet深入解读
- [Swift]LeetCode880. 索引处的解码字符串 | Decoded String at Index
- Robot Framework脚本在jenkins执行完之后无法查看日志
- XUbuntu18.04(Bionic河狸)正式发布,系统安装升级记录
- docker部署Javaweb环境数据库连接问题
- Git的一些基本操作和命令
- 「BZOJ1095」[ZJOI2007] Hide 捉迷藏
- Linux学习之CentOS(四)----Linux各目录的介绍
- jenkins slave启动报错:hudson.util.IOException2: Slave JVM has terminated. Exit code=126
热门文章
- Linux下免安装mysql
- 【proxy agent资料】
- [Typescript] Make TypeScript Class Usage Safer with Strict Property Initialization
- Java8 CompletableFuture组合式的编程(笔记)
- ffmpeg 复用
- php核心技术与最佳实践知识点(下)
- Hybird App(一)----第一次接触
- 递归函数, 匿名函数, yield from
- Atitit. C#.net clr 2.0  4.0新特性
- 1.const