SQL必知必会(第四版) 第三课 排序检索数据-读书笔记

3.1 排序数据

  首先,下列SQL语句返回的数据其输出并没有特定的顺序。
例如:输入

SELECT prod_name FROM Products

输出:
在这里插入图片描述
  所以,为了明确地排序用SELECT语句检索出的数据,我们可以使用ORDER BY子句。ORDER BY子句取一个或多个列的名字,据此对输出进行排序。

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

例如:输入

SELECT prod_name FROM Products ORDER BY prod_name

输出:
在这里插入图片描述

提示:
  1.在使用ORDER BY子句时,应该保证它是SELECT语句中最后一条子句,否则将出现错误消息。
  2.ORDER BY子句使用非检索的列排序数据是完全合法的。

3.2 按多个列排序

  有时我们需要对不止一个列进行数据排序,如果要按多个列排序,只需要多个列名之间用逗号分隔即可(像选择多个列时一样)。

例如:输入

SELECT prod_id,prod_name,prod_price FROM Products ORDER BY prod_price,prod_name

输出:
在这里插入图片描述
  上述SQL语句中,仅在多个行具有相同的prod_price值时,才会按prod_name进行排序。如果prod_price列中的值都是唯一的,则不会按prod_name排序。

3.3 按列位置排序

  ORDER BY还支持按相对位置进行排序。

例如:输入

SELECT prod_id,prod_name,prod_price FROM Products ORDER BY 2,3

输出:
在这里插入图片描述
  上述SQL语句中ORDER BY 2,3表示先按prod_name排序再按照prod_price进行排序,2,3表示查询出来的结果列。

3.4 指定排序方向

  数据的排列顺序不限于升序排列(A - Z),ORDER BY子句还支持降序排列(Z - A),为了进行降序排列,我们必须使用DESC关键字。

例如:输入

SELECT prod_id,prod_name,prod_price FROM Products ORDER BY prod_price DESC

输出:
在这里插入图片描述
  上述SQL语句以价格的降序来排列产品。

如果打算用多个列进行排序时:输入

SELECT prod_id,prod_name,prod_price FROM Products ORDER BY prod_price DESC,prod_name

输出:
在这里插入图片描述

  上述SQL语句中,DESC关键字只应用到直接位于其前面的列名。所以,如果要对多个列进行降序排列就要对每一列指定DESC关键字。

提示:
  DESC是DESCENDING的缩写与其相对的是ASC(ASCENDING),两个关键字都可以使用,但实际上,ASC并没有多大用处,因为升序是默认的。

小结

  这一课学习了如何用SELECT语句的ORDER BY 子句对检索出的数据进行排序。这个子句必须是 SELECT 语句中的最后一条子句。根据需要,可以利用它在一个或多个列上对数据进行排序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值