SQL學習筆記——order by子句、desc降序排序

--order by子句語法
select <列名1>, <列名2>, <列名3>, ……
from <表名>
order by <排序基準列1>, <排序基準列2>, ……

1、不論何種情況,order by 子句都需要寫在select語句的末尾,order by 子句中書寫的列名稱爲排序鍵

2、子句的書寫順序:1. select子句 → 2. from子句 → 3. where 子句 → 4. group by 子句 →5. having子句 → 6. order by子句

3、未指定order by子句中排列順序時會默認使用升序進行排列,asc也是升序排序

4、需要進行降序排列時,在列名後面使用desc關鍵字

select <列名1>, <列名2>, <列名3>, ……
from <表名>
order by <排序基準列1> desc;

5、在order by 子句中可以同時指定多個排序鍵。規則是優先使用左側的鍵,如果該列存在相同值的話,再接着參考右側的鍵。當然,也可以同時使用3 個以上的排序鍵。

6、使用含有null 的列作爲排序鍵時,null會在結果的開頭或末尾彙總顯示。究竟是在開頭顯示還是在末尾顯示,並沒有特殊規定,某些DBMS中可以指定null 在開頭或末尾顯示。

7、在order by 子句中卻是允許使用別名,select 子句的執行順序在group by 子句之後,order by子句之前。因此,在執行group by 子句時,select 語句中定義的別名無法被識別。對於在select 子句之後執行的order by 子句來說,就沒有這樣的問題了。

8、order by 子句中也可以使用存在於表中、但並不包含在select子句之中的列和使用聚合函數。

--例子1:
select product_name, sale_price, purchase_price
from product
order by product_id;

--例子2:
select product_type, count(*)
from Product
group by product_type
order by count(*);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章