目錄
目錄匯總: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
子句中使用的列將是為顯示而選擇的列。但是,實際上並不一定要這樣,用非檢索的列排序數據是完全合法的。
請參閱
(完)