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(*);

 

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