Order by排序
程序员文章站
2023-01-29 16:14:23
1 select empno,ename,sal,sal*12 from emp order by sal*12 desc; --表达式 2 select empno,ename,sal,sal*12 年薪 from emp order by 年薪 desc; --别名 3 select empno ......
- asc 升序(默认),desc 降序
- order by 后面 可以加 列、表达式、别名、序号(从1开始)
1 select empno,ename,sal,sal*12 from emp order by sal*12 desc; --表达式 2 select empno,ename,sal,sal*12 年薪 from emp order by 年薪 desc; --别名 3 select empno,ename,sal,sal*12 年薪 from emp order by 4 desc; --序号
- order by会作用于后面所有列,先按照第一列进行排序,然后按照后一列,以此类推
- asc,desc会匹配最近的字段(由左至右)
1 select * from emp order by deptno,sal --优先按照deptno排序,若deptno相同则根据sal进行排序 2 select * from emp order by deptno,sal desc --deptno升序 sal降序排列 3 select * from emp order by deptno desc,sal desc --降序排列
- null值排序
- oracle中null值最大,使用nulls last将含有null的的数据放到最后
1 select * from emp order by comm desc nulls last;
- oracle中null值最大,使用nulls last将含有null的的数据放到最后