ORDER BY子句
📄字数 909
👁️阅读量 加载中...
排序子句关键字为ORDER BY
,通过ORDER BY
指定规则对返回的数据行进行排序,最终展现排序后的结果。排序指定字段既可在返回字段列表中也可以不在返回字段列表中,如果没有ORDER BY
子句,多次执行同一查询返回的结果不能保证是相同的顺序,数据库按照堆上顺序进行返回。
排序子句后可跟ASC
和DESC
关键字,ASC
表示升序,DESC
表示降序,如果排序子句未指定排序规则则默认为ASC
。
一、语法格式
二、参数说明
sort_clause
:包含一个或多个sortby
项的ORDER BY
子句,可分为降序和升序,若无排序子句则默认为升序。SIBLINGS
:对同一父节点下的子节点(即兄弟节点)进行排序,与层次查询一起使用,请参阅CONNECT BY子句。sort_ident
:排序项标识,可以为选择输出项名称、别名或序号。ASC
:指定排序规则为升序。DESC
:指定排序规则为降序。NULLS FIRST
:指定NULL
值排在结果集最前面。NULLS LAST
:指定NULL
值排在结果集最后面。
三、示例
sql
-- 默认排序
SQL> CREATE TABLE tab_odr(id INT,name VARCHAR(20));
Execute successful.
Use time:28 ms.
SQL> INSERT INTO tab_odr VALUES(1,'abc')(2,'one')(66,'ooo');
Total 3 records effected.
Use time:0 ms.
SQL> SELECT * FROM tab_odr ORDER BY id;
+----+------+
| ID | NAME |
+----+------+
| 1 | abc |
| 2 | one |
| 66 | ooo |
+----+------+
(3 rows)
Use time:3 ms.
-- 指定升序
SQL> SELECT * FROM tab_odr ORDER BY id ASC;
+----+------+
| ID | NAME |
+----+------+
| 1 | abc |
| 2 | one |
| 66 | ooo |
+----+------+
(3 rows)
Use time:0 ms.
-- 指定降序
SQL> SELECT * FROM tab_odr ORDER BY id DESC;
+----+------+
| ID | NAME |
+----+------+
| 66 | ooo |
| 2 | one |
| 1 | abc |
+----+------+
(3 rows)
Use time:0 ms.