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升序返回排序後的全部記錄。

相關文章
相關標籤/搜索