六、排序数据
6、排序数据
6.1、单一字段排序
排序采用order by子句,order by后面跟上排序字段,排序字段可以放多个,多个采用逗号间隔,order by默认采用升序,如果存在where子句那么order by必须放到where语句的后面
- 按照薪水由小到大排序(系统默认由小到大)
select * from emp order by sal; |
2.取得job为MANAGER的员工,按照薪水由小到大排序(系统默认由小到大)
select * from emp where job='MANAGER' order by sal; |
如果包含where语句order by必须放到where后面,如果没有where语句order by放到表的后面
以下写法是错误的:
select * from emp order by sal where job='MANAGER'; |
3.按照多个字段排序,如:首先按照job排序,再按照sal排序
select * from emp order by job,sal; |
6.2、手动指定排序顺序
- 手动指定按照薪水由小到大排序
select * from emp order by sal asc;
|
2.手动指定按照薪水由大到小排序
select * from emp order by sal desc; |
6.3、多个字段排序
- 按照job和薪水倒序
select * from emp order by job desc, sal desc; |
如果采用多个字段排序,如果根据第一个字段排序重复了,会根据第二个字段排序
6.4、使用字段的位置来排序
- 按照薪水升序
select * from emp order by 6; |
不建议使用此种方式,采用数字含义不明确,程序不健壮