**

对数据库中的数据进行排序

**

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

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

sql server结果集的序号 sql对结果集进行排序_sql

在上面语法中

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

·[ASC | DESC ]-使用ASC或DESC指定是否应按升序或降序对指定列中的值进行排序。ASC是将结果从最低值排序到最高值,而DESC则是将结果集从最高排序到最低值。如果未明确指定ASC或DESC,则SQL Server将默认使用ASC来排序。此外SQL Server将NULL视为最低值。

处理具有ORDER BY子句的SELECT语句时,ORDER BY子句是要处理的最后一个子句。

1、按升序对结果集进行排序

以下语句是以学院ID按升序对学院名称列表进行排序:

sql server结果集的序号 sql对结果集进行排序_sql_02

2、按降序对结果集进行排序

以下语句是以学院ID按降序对学院名称列表进行排序:

sql server结果集的序号 sql对结果集进行排序_数据库_03

3、按不在选择列表中的列对结果集进行排序(请注意,bookPrice列在SYS_Book表中的定义。如果不在,那么查询将无效)

可以通过选择列表中未显示的列对结果集进行排序。例如,以下语句以bookPrice对书籍进行排序,即使bookPrice列未显示在选择列表中。

sql server结果集的序号 sql对结果集进行排序_结果集_04

4、按表达式对结果集进行排序

LEN()函数返回字符串的字符数。以下语句使用ORDER BY子句中的LEN()函数来检索按学院名字长度排序学院列表。

sql server结果集的序号 sql对结果集进行排序_数据库_05