T O P

[资源分享]     SQL 入门教程:排序(ORDER BY)数据

  • By - 楼主

  • 2021-07-26 12:00:07
  • 目录

    目录汇总:SQL 入门教程:面向萌新小白的零基础入门教程

    下面的 SQL 语句返回某个数据库表的单个列。但请看其输出,并没有特定的顺序。

    输入▼

    SELECT prod_name
    FROM Products;
    

    输出▼

    prod_name
    --------------------
    Fish bean bag toy
    Bird bean bag toy
    Rabbit bean bag toy
    8 inch teddy bear
    12 inch teddy bear
    18 inch teddy bear
    Raggedy Ann
    King doll
    Queen doll
    

    其实,检索出的数据并不是随机显示的。如果不排序,数据一般将以它在表中出现的顺序显示,这有可能是数据最初添加到表中的顺序。但是,如果数据随后进行过更新或删除,那么这个顺序将会受到 DBMS 重用回收存储空间的方式的影响。因此,如果不明确控制的话,则最终的结果不能(也不应该)依赖该排序顺序。关系数据库设计理论认为,如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有任何意义。

    子句(clause)

    SQL 语句由子句构成,有些子句是必需的,有些则是可选的。一个子句通常由一个关键字加上所提供的数据组成。子句的例子有我们在前一部分看到的 SELECT 语句FROM 子句。

    为了明确地排序用 SELECT 语句检索出的数据,可使用 ORDER BY 子句。ORDER BY 子句取一个或多个列的名字,据此对输出进行排序。请看下面的例子:

    输入▼

    SELECT prod_name
    FROM Products
    ORDER BY prod_name;
    

    分析▼

    除了指示 DBMS 软件对 prod_name 列以字母顺序排序数据的 ORDER BY 子句外,这条语句与前面的语句相同。结果如下。

    输出▼

    prod_name
    --------------------
    12 inch teddy bear
    18 inch teddy bear
    8 inch teddy bear
    Bird bean bag toy
    Fish bean bag toy
    King doll
    Queen doll
    Rabbit bean bag toy
    Raggedy Ann
    

    注意:ORDER BY 子句的位置

    在指定一条 ORDER BY 子句时,应该保证它是 SELECT 语句中最后一条子句。如果它不是最后的子句,将会出错。

    提示:通过非选择列进行排序

    通常,ORDER BY 子句中使用的列将是为显示而选择的列。但是,实际上并不一定要这样,用非检索的列排序数据是完全合法的。

    请参阅

    (完)

    本帖子中包含资源

    您需要 登录 才可以下载,没有帐号?立即注册