1、普通排序
select * from emp order by empno asc(desc);
2、根据多字段排序
select * from emp order by ename,job asc(desc);
3、按子串排序
select * from emp order by substr(ename,length(ename)-2)
通过substr函数实现子串的截取,然后进行排序
4、对于字母、数字混合的数据进行排序
通过translate或者replace替换掉数字或字符部分,然后排序
translate(string,from,to)
字符级别的替换;
如果to的长度小于from则在from中存在,在to中不存在的将被直接删掉;
replace(string,from ,to)
字符串级别的替换
5、排序时的空值处理
a、使用case when对空值进行替换,例如空值替换为0,非空值替换为1,然后可以参与排序
b、oracle9i以后的版本提供了 nulls first 和nulls last操作。
6、根据数据项的键排序
采用类似占位符的方式来实现排序
select empno,ename,job,case when job='SALESMAN' then comm else sal end from emp order by 4;