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.