对数据进行排序:使用 ORER BY 子句

本文介绍了SQL中的ORDER BY子句,用于对查询结果进行排序。内容涵盖了ORDER BY的基本语法,包括ASC和DESC的使用,以及在处理NULL值时的行为。通过多个实例展示了如何按升序和降序对单列或多列进行排序,强调了ORDER BY子句在SQL查询中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、SQL简介 :

SQL语言是集DDL、DML和DCL于一体的数据库语言。

▪  SQL语言之DDL:定义数据库

▪  SQL语言之DML:操纵数据库

▪  SQL语言之DCL:数据权限控制

SQL语言主要由以下9个单词引导的操作语句来构成,但每一条语句都能表达复杂的操作请求:

  1. DDL语句引导词:Create、Alter、Drop

▪ 模式的定义与删除。包括定义Database、Table、View、Index和完整性约束条件等。

  1. DML语句引导词:Insert、Delete、Update、Select

▪ 各种方式的更新与检索操作。

▪ 各种复杂条件的检索。如连接查找、模糊查找、分组查找、嵌套查找等。

▪ 各种聚集操作。包括求平均、求和等,也包括分组聚集、分组过滤等。

  1. DCL语句引导词:Grant、Revoke

▪ 安全性控制:授权和撤销授权。

二、对数据进行排序:使用 ORER BY 子句

使用 SELECT 语句从表中查询数据时,不保证结果集中的行顺序。 这意味着SQL Server可以返回具有未 指定行顺序的结果集。

保证结果集中的行已排序的方法是使用 ORER BY 子句。 以下是 ORDER BY 子句的语法:

 

在上面语法中,

▪ column_name | expression - 指定要对查询结果集进行排序的列名或表达式。 如果指定多个 列,则结果集按第一列排序,然后该排序结果集按第二列排序,依此类推。 ORDER BY 子句中出现 的列必须对应于选择列表中的列或 FROM 子句中指定的表中定义的列。

▪ ASC | DESC - 使用 ASC 或 DESC 指定是否应按升序或降序对指定列中的值进行排序。 ASC 将结果 从最低值排序到最高值,而 DESC 将结果集从最高值排序到最低值。如果未明确指定 ASC 或 DESC ,则SQL Server将默认使用 ASC 来排序顺序。 此外,SQL Server将 NULL 视为最低值。 处理具有 ORDER BY 子句的 SELECT 语句时, ORDER BY 子句是要处理的最后一个子句。

SQL ORDER BY 子句:

ORDER BY 语句用于对结果集进行排序。

ORDER BY 语句

1、ORDER BY 语句用于根据指定的列对结果集进行排序。

2、ORDER BY 语句默认按照升序对记录进行排序。

如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。

原始的表 (用在例子中的):

Orders 表:

 

实例 1

以字母顺序显示公司名称:

 

结果:

 

实例 2

以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber):

 

结果:

 

实例 3

以逆字母顺序显示公司名称:

 

结果:

 

实例 4

以逆字母顺序显示公司名称,并以数字顺序显示顺序号:

 

结果:

 

注意:在以上的结果中有两个相等的公司名称 (W3School)。只有这一次,在第一列中有相同的值时,第二列是以升序排列的。如果第一列中有些值为 nulls 时,情况也是这样的。

以上就是我最近新学习到的新的知识内容,现在分享给你们,希望可以帮助到你们。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值