oracle orderby 默认,Oracle系列:(7)order by子句

查询员工信息(编号,姓名,月薪,年薪),按月薪升序排序,默认升序,如果月薪相同,按oracle内置的校验规则排序

selectempno,ename,sal,sal*12

fromemp

orderbysalasc;

查询员工信息(编号,姓名,月薪,年薪),按月薪降序排序

selectempno,sal*12

fromemp

orderbysaldesc;

查询员工信息,按入职日期降序排序,使用列名

selectempno,hiredate,sal*12"年薪"

fromemp

orderbyhiredatedesc;

order by后面可以跟列名、别名、表达式、列号(从1开始,在select子句中的列号)

列名:

selectempno,sal*12"年薪"

fromemp

orderbyhiredatedesc;

别名:

selectempno,sal*12"年薪"

fromemp

orderby"年薪"desc;

表达式:

selectempno,sal*12"年薪"

fromemp

orderbysal*12desc;

列号,从1开始:

selectempno,sal*12"年薪"

fromemp

orderby5desc;

loading.png

查询员工信息,按佣金升序或降序排列,null值看成最大值

select*fromemporderbycommdesc;

loading.png

loading.png

查询员工信息,对有佣金的员工,按佣金降序排列,当order by 和 where 同时出现时,order by 在最后

select*

fromemp

wherecommisnotnull

orderbycommdesc;

loading.png

查询员工信息,按工资降序排列,相同工资的员工再按入职时间降序排列

select*

fromemp

orderbysaldesc,hiredatedesc;

select*

fromemp

orderbysaldesc,hiredateasc;

注意:只有当sal相同的情况下,hiredate排序才有作用

查询20号部门,且工资大于1500,按入职时间降序排列

select*

fromemp

where(deptno=20)and(sal>1500)

orderbyhiredatedesc;

loading.png

下面的字符串'30'可以隐式转换为数字

select * from emp where deptno in (10,20,30,50,'30');

loading.png

select * from emp where deptno in (10,'a');

loading.png

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。