(Molinaro-SQL cookbook笔记)
1. 以指定次序返回结果
select ename, job, sal
from emp
where deptno = 10
order by sal asc
ORDER BY默认以升序方式排序
ASC 升序
DESC 降序
ORDER BY中可以指定列编号,从1 开始, 从左到右依次对应SELECT中各个属性
2. 按多个字段排序
select empno, deptno, sal, ename, job
from emp
order by deptno, sal desc
排序有限次序从左到右,一般可以用SELECT中没有的列来排序,但是不能使用数字,必须显式的给出排序的列名。
而如果在查询中使用了GROUP BY 或 DISTINCT,则不能按照SELECT中没有的列来排序。
3. 按字串排序
按照job的最后两个字符排序
DB2,MySQL,Oracle, PostgreSQL
select ename, job
from emp
order by substr(job, length(job)-2)
SQL Server
select ename, job
from emp
order by substring(job, len(job)-2, 2)