SQL排序检索数据——ORDER BY

讲授如何使用 SELECT 语句的 ORDER BY 子句,根据需要排序检索 出的数据。

子句(clause) :SQL语句由子句构成,有些子句是必需的,有些则是可选的。一个子 句通常由一个关键字加上所提供的数据组成。

1、排序数据
一般查找数据都是按照一行一行的读取,开始可能还有顺序,如果数据随后进行过更新或删除,之后的数据就会打乱,为了明确地排序用 SELECT 语句检索出的数据,可使用 ORDER BY 子句。 ORDER BY 子句取一个或多个列的名字,据此对输出进行排序。

注意:ORDER BY 子句的位置 在指定一条 ORDER BY 子句时,应该保证它是 SELECT 语句中最后一 条子句。如果它不是最后的子句,将会出现错误消息。

例子:

SELECT
 	*
FROM
	books
ORDER BY
	price;

意思就是查询 books 表中全部,结果以 price 升序展示(默认)
在这里插入图片描述
2、按多个列排序
经常需要多列进行排序,例如在排序名字时,会根据姓和名进行排序,销售书时会根据价格和数量进行排序。
例子:

SELECT
 	name,price,sales
FROM
	books
ORDER BY
	price,sales;

在这里插入图片描述

3、按列位置排序
除了能用列名指出排序顺序外,ORDER BY 还支持按相对列位置进行排 序。
例子:

SELECT
 	name,price,sales
FROM
	books
ORDER BY
	2,3;

SELECT 清单中指定的是选择列的相对位置而不是列名。 2,3对应的是要查找数据的第二个和第三个(从 1 开始计数),即对应的是 price 和 sales。
在这里插入图片描述
4、指定方向排序
数据排序不限于升序排序(从 A到 Z),这只是默认的排序顺序。还可以 使用 ORDER BY 子句进行降序(从 Z到 A)排序。为了进行降序排序, 必须指定关键字。

升序:ASC(ASCENDING)默认排序,一般不写
降序:DESC(DESCENDING )

例子:

SELECT
 	name,price,sales
FROM
	books
ORDER BY
	price DESC,
	sales ASC;

DESC关键字只应用到直接位于其前面的列名,中间以逗号隔开。例子中对 price 降序排列,而 sales 升序排列(一般不写ASC)
警告:在多个列上降序排序 如果想在多个列上进行降序排序,必须对每一列指定 DESC 关键字。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值