六、排序数据

6、排序数据

 

6.1、单一字段排序

排序采用order by子句,order by后面跟上排序字段,排序字段可以放多个,多个采用逗号间隔,order by默认采用升序,如果存在where子句那么order by必须放到where语句的后面

  1. 按照薪水由小到大排序(系统默认由小到大)

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、手动指定排序顺序

  1. 手动指定按照薪水由小到大排序

select * from emp order by sal asc;

六、排序数据

 

 

     2.手动指定按照薪水由大到小排序

select * from emp order by sal desc;

六、排序数据

 

6.3、多个字段排序

  1. 按照job和薪水倒序

select * from emp order by job desc, sal desc;

六、排序数据

 

如果采用多个字段排序,如果根据第一个字段排序重复了,会根据第二个字段排序

6.4、使用字段的位置来排序

  1. 按照薪水升序

select * from emp order by 6;

六、排序数据

 

不建议使用此种方式,采用数字含义不明确,程序不健壮