單一字段排序
排序采用order by子句,order by后面跟上排序字段,排序字段可以放多個,多個采用逗號間隔,order by默認采用升序,如果存在where子句那么order by必須放到where語句的后面。
● 按照薪水由小到大排序(系統默認由小到大)
select * from emp order by sal;
● 取得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';
● 按照多個字段排序,如:首先按照job排序,再按照sal排序
select * from emp order by job,sal;
● 手動指定按照薪水由小到大排序
select * from emp order by sal asc;
● 手動指定按照薪水由大到小排序
select * from emp order by sal desc;
● 按照job和薪水倒序
select * from emp order by job desc, sal desc;
如果采用多個字段排序,如果根據第一個字段排序重復了,會根據第二個字段排序。
● 按照薪水升序
select * from emp order by 6;
不建議使用此種方式,采用數字含義不明確,程序不健壯。