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

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

select empno,ename,sal,sal*12

from emp

order by sal asc;

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

select empno,ename,sal,sal*12

from emp

order by sal desc;

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

select empno,ename,sal,hiredate,sal*12 "年薪"

from emp

order by hiredate desc;

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

列名:

select empno,ename,sal,hiredate,sal*12 "年薪"

from emp

order by hiredate desc;

别名:

select empno,ename,sal,hiredate,sal*12 "年薪"

from emp

order by "年薪" desc;

表达式:

select empno,ename,sal,hiredate,sal*12 "年薪"

from emp

order by sal*12 desc;

列号,从1开始:

select empno,ename,sal,hiredate,sal*12 "年薪"

from emp

order by 5 desc;

c11d695588c4a3bfe6bd8acb4d71a055.png

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

select * from emp order by comm desc;

9f4cb58cb41f66177237397e6c5d954f.png

deea62088d75871ab881ef4dedbc7891.png

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

select *

from emp

where comm is not null

order by comm desc;

15c5a596d8139d9c8001e8a292a7e812.png

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

select *

from emp

order by sal desc,hiredate desc;

select *

from emp

order by sal desc,hiredate asc;

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

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

select *

from emp

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

order by hiredate desc;

c36f4fbc0d80f6f6d7bbe0027b2d5e0c.png

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

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

aa4c2c56001824a4c20b33cbd3c178cf.png

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

8c609b6b23e1fbd86f06b14aa53cc3a3.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值