将 ORDER BY 子句添加到 SELECT 语句中,可以按照一列或者多列完成升序、降序排序。
语法结构
SELECT
column1,
column2,
column3,
...
FROM
table_name
ORDER BY
column1 [ASC | DESC] [NULLS FIRST | NULLS LAST],
column2 [ASC | DESC] [NULLS FIRST | NULLS LAST];Code language: CSS (css)
参数说明
ASC:升序排序,默认排序方式,不写时默认就是 ASCDESC:降序排序NULLS FIRST:将 NULL 值排在非 NULL 数据的前面NULLS LAST:将 NULL 值排在非 NULL 数据的后面
ORDER BY子句永远写在 SELECT 语句的最后。- 支持多列排序,每一列可以设置各自独立的排序规则。
单列降序排序
SELECT name, sex
FROM student
ORDER BY name DESC;
Oracle执行输出:
SQL> select id, name from student order by name desc;
ID NAME
---------- ----------------
1 Tom
3 Lucy
2 JackCode language: JavaScript (javascript)
多列组合排序
先按照 name 降序,再按照 sex 升序
SQL> select id, name from student order by name desc, sex asc;
ID NAME
---------- ----------------
1 Tom
3 Lucy
2 JackCode language: JavaScript (javascript)
NULL值控制
-- NULL值排在最前面
SELECT id,name,sex FROM student ORDER BY sex DESC NULLS FIRST;
-- NULL值排在最后面
SELECT id,name,sex FROM student ORDER BY sex DESC NULLS LAST;
Previous: 插入表和查询
Next: Distinct 去重