關係數據庫設計理論認爲:如果沒有明確規定排序,則檢索出的順序是沒有意義的。
因此我們之前用SELECT…FROM…;來檢索數據,得出的數據的順序是沒有意義的。
那麼怎麼對檢索出的數據進行排序呢?
我們用ORDER BY 子句
SELECT prod_name
FROM products
ORDER BY prod_name; #按照prod_name進行排序
當然,prod_name中也會有相同數據出現的情況,因此,我們也可以指定多個列來進行排序,第一列有相同的就再比較第二列
SELECT prod_name
FROM products
ORDER BY prod_name, prod_id; #再加個prod_id進行排序
如果prod_name內的數據都是唯一的,那麼也就用不到prod_id排序了
說到排序,當然會有升序和降序的分類
ORDER BY 默認的是升序(數值—>A–>Z)
降序的話要加DESC (Z—>A)
無序
SELECT prod_name
FROM prodcuts;
升序
SELECT prod_name
FROM products
ORDER BY prod_name;
降序
SELECT prod_name
FROM products
ORDER BY prod_name DESC;
如果按多列進行排序,DESC只會應用到它前面的那一列
SELECT prod_name, prod_price
FROM products
ORDER BY prod_price DESC, prod_name; #DESC只會對prod_price降序, prod_name依然按默認的升序顯示
現在我們就可以用ORDER BY 和 LIMIT組合,來選出最貴的產品了
SELECT prod_name, prod_price
FROM products
ORDER BY prod_price DESC
LIMIT 1;
注意順序:ORDER BY 在FROM後,在LIMIT 前