查询员工信息(编号,姓名,月薪,年薪),按月薪升序排序,默认升序,如果月薪相同,按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;
查询员工信息,按佣金升序或降序排列,null值看成最大值
- select*fromemporderbycommdesc;
查询员工信息,对有佣金的员工,按佣金降序排列,当order by 和 where 同时出现时,order by 在最后
- select*
- fromemp
- wherecommisnotnull
- orderbycommdesc;
查询员工信息,按工资降序排列,相同工资的员工再按入职时间降序排列
- select*
- fromemp
- orderbysaldesc,hiredatedesc;
- select*
- fromemp
- orderbysaldesc,hiredateasc;
注意:只有当sal相同的情况下,hiredate排序才有作用
查询20号部门,且工资大于1500,按入职时间降序排列
- select*
- fromemp
- where(deptno=20)and(sal>1500)
- orderbyhiredatedesc;
下面的字符串'30'可以隐式转换为数字
select * from emp where deptno in (10,20,30,50,'30');
select * from emp where deptno in (10,'a');