SQL 入門教程:排序(ORDER BY)數據


目錄

目錄匯總:SQL 零基礎入門教程

下面的 SQL 語句返回某個數據庫表的單個列。但請看其輸出,並沒有特定的順序。

輸入▼

SELECT prod_name
FROM Products;

輸出▼

prod_name
--------------------
Fish bean bag toy
Bird bean bag toy
Rabbit bean bag toy
8 inch teddy bear
12 inch teddy bear
18 inch teddy bear
Raggedy Ann
King doll
Queen doll

其實,檢索出的數據並不是隨機顯示的。如果不排序,數據一般將以它在表中出現的順序顯示,這有可能是數據最初添加到表中的順序。但是,如果數據隨后進行過更新或刪除,那么這個順序將會受到 DBMS 重用回收存儲空間的方式的影響。因此,如果不明確控制的話,則最終的結果不能(也不應該)依賴該排序順序。關系數據庫設計理論認為,如果不明確規定排序順序,則不應該假定檢索出的數據的順序有任何意義。

子句(clause)

SQL 語句由子句構成,有些子句是必需的,有些則是可選的。一個子句通常由一個關鍵字加上所提供的數據組成。子句的例子有我們在前一部分看到的 SELECT 語句FROM 子句。

為了明確地排序用 SELECT 語句檢索出的數據,可使用 ORDER BY 子句。ORDER BY 子句取一個或多個列的名字,據此對輸出進行排序。請看下面的例子:

輸入▼

SELECT prod_name
FROM Products
ORDER BY prod_name;

分析▼

除了指示 DBMS 軟件對 prod_name 列以字母順序排序數據的 ORDER BY 子句外,這條語句與前面的語句相同。結果如下。

輸出▼

prod_name
--------------------
12 inch teddy bear
18 inch teddy bear
8 inch teddy bear
Bird bean bag toy
Fish bean bag toy
King doll
Queen doll
Rabbit bean bag toy
Raggedy Ann

注意:ORDER BY 子句的位置

在指定一條 ORDER BY 子句時,應該保證它是 SELECT 語句中最后一條子句。如果它不是最后的子句,將會出錯。

提示:通過非選擇列進行排序

通常,ORDER BY 子句中使用的列將是為顯示而選擇的列。但是,實際上並不一定要這樣,用非檢索的列排序數據是完全合法的。

請參閱

(完)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM