使用 SELECT 和 ORDER BY 進(jìn)行排序檢索
一陨晶、排序數(shù)據(jù)
關(guān)系型數(shù)據(jù)庫設(shè)計(jì)理論認(rèn)為:如果不明確規(guī)定排序順序白翻,則不應(yīng)該假定檢索出的數(shù)據(jù)的順序有任何意義
子句(clause)
概念:SQL語句由子句構(gòu)成碎连,子句有些是必需的夜矗,有些是可選的妆偏。子句由關(guān)鍵字加上提供的數(shù)據(jù)組成我磁。
可使用 ORDER BY 子句對(duì)被檢索數(shù)據(jù)進(jìn)行排序
輸入
SELECT prod_name
FROM Products
ORDER BY prod_name;
輸出
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
注意:1. ORDER BY 必須是 SELECT 語句中最后一條子句圃阳,否則將會(huì)出錯(cuò) 2. 默認(rèn)按字母順序排列和數(shù)字升序排列
二厌衔、按多個(gè)列排序
輸入
SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY prod_price, prod_name;
輸出
prod_id prod_price prod_name
------- ---------- ---------
BNBG02 3.49 Bird bean bag toy
BNBG01 3.49 Fish bean bag toy
BNBG03 3.49 Rabbit bean bag toy
RGAN01 4.99 Raggedy Ann
BR01 5.99 8 inch teddy bear
BR02 8.99 12 inch teddy bear
RYL01 9.49 King doll
RYL02 9.49 Queen doll
BR03 11.99 18 inch teddy bear
注:只有在多行具有相同的 prod_price 值時(shí)才對(duì)產(chǎn)品按照 prod_name 進(jìn)行排列。若 prod_price 值都不同捍岳,則不會(huì)按照 prod_name 排列
三富寿、按位置排列
例:ORDER BY 2, 3
解釋:2 代表 prod_price,3 代表 prod_name
四锣夹、指定排序方向
ORDER BY 默認(rèn)為升序排列页徐,也可以用DESC關(guān)鍵字進(jìn)行降序排列
輸入
SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY prod_price DESC;
輸出
prod_id prod_price prod_name
------- ---------- ---------
BR03 11.99 18 inch teddy bear
RYL01 9.49 King doll
RYL02 9.49 Queen doll
BR02 8.99 12 inch teddy bear
BR01 5.99 8 inch teddy bear
RGAN01 4.99 Raggedy Ann
BNBG01 3.49 Fish bean bag toy
BNBG02 3.49 Bird bean bag toy
BNBG03 3.49 Rabbit bean bag toy
若需要對(duì)多列進(jìn)行排序,則可以這樣
輸入
SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY prod_price DESC, prod_name;
輸出
prod_id prod_price prod_name
------- ---------- ---------
BR03 11.99 18 inch teddy bear
RYL01 9.49 King doll
RYL02 9.49 Queen doll
BR02 8.99 12 inch teddy bear
BR01 5.99 8 inch teddy bear
RGAN01 4.99 Raggedy Ann
BNBG01 3.49 Fish bean bag toy
BNBG02 3.49 Bird bean bag toy
BNBG03 3.49 Rabbit bean bag toy
輸出結(jié)果和上例相同
注:1. DESC關(guān)鍵字只作用在其前面的列名上银萍,而prod_name仍按照升序排列(如果有價(jià)格相同的情況)