SQL学习笔记——order by子句、desc降序排序

本文详细介绍了SQL中ORDER BY子句的使用方法,包括基本语法、排序方向的指定、多列排序、NULL值处理、别名使用及聚合函数的应用。通过具体实例,帮助读者掌握ORDER BY子句在数据查询中的灵活运用。
摘要由CSDN通过智能技术生成
--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(*);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值