ORDER BY子句

Oracle ORDER BY子句用于对结果集中的记录进行排序。 ORDER BY子句只能在SELECT语句中使用。html

语法

Oracle/PLSQL 中的ORDER BY的语法是:程序员

SELECT expressions
FROM tables
[WHERE conditions]
ORDER BY expression [ ASC | DESC ];

参数express

  • expressions - 任何均可以知足要选择记录的条件。
  • tables - 任何均可以知足要选择记录的条件。
  • WHERE conditions - 任何均可以知足要选择记录的条件。
  • ASC - 可选的。它按照表达式(expression)以升序对结果集进行排序(若是没有提供修饰符,这是默认值)。
  • DESC - 可选的。它按表达式(expression)按降序对结果集进行排序。

注意oracle

  • 若是在ORDER BY子句中未提供ASCDESC修饰符,则结果将按升序按表达式排序(这至关于ORDER BY expression ASC

示例1 - 不使用ASC/DESC属性进行排序

能够在使用Oracle ORDER BY子句时不指定ASCDESC值。 当在ORDER BY子句中省略指定属性时,排序顺序默认为ASC或按升序排序。spa

例如:code

SELECT supplier_city
FROM suppliers
WHERE supplier_name = 'Microsoft'
ORDER BY supplier_city;

这个Oracle ORDER BY示例将按 supplier_city 字段升序排序返回全部记录,并等效于如下ORDER BY子句:htm

SELECT supplier_city
FROM suppliers
WHERE supplier_name = 'Microsoft'
ORDER BY supplier_city ASC;

大多数程序员若是想按升序排序,他们通常都会省略ASC属性。排序

示例2 - 按降序排序

在以降序对结果集排序时,能够在ORDER BY子句中使用DESC属性,以下所示:ci

SELECT supplier_city
FROM suppliers
WHERE supplier_name = 'Microsoft'
ORDER BY supplier_city DESC;

这个Oracle ORDER BY示例将按 supplier_city 字段排序返回的全部记录。get

示例3 - 按相对位置排序

还能够使用Oracle ORDER BY子句对结果集中的相对位置进行排序,结果集中的第一个字段为1,第二个字段为2,依此类推。

例如:

SELECT supplier_city
FROM suppliers
WHERE supplier_name = 'Microsoft'
ORDER BY 1 DESC;

这个Oracle ORDER BY将按supplier_city字段降序排序返回全部记录,由于supplier_city字段位于结果集中的位置是#1,等效于如下ORDER BY子句:

SELECT supplier_city
FROM suppliers
WHERE supplier_name = 'Microsoft'
ORDER BY supplier_city DESC;

示例4 - 使用ASC和DESC属性

当使用Oracle ORDER BY子句对结果集排序时,能够在单个SELECT语句中使用ASCDESC属性。

例如:

SELECT supplier_city, supplier_state
FROM suppliers
WHERE supplier_name = 'Microsoft'
ORDER BY supplier_city DESC, supplier_state ASC;

这个Oracle ORDER BY查询将按照supplier_city字段降序顺序和按照supplier_state升序返回排序后的全部记录。

相关文章
相关标签/搜索