美文网首页
第三课 排序检索数据

第三课 排序检索数据

作者: 此我非彼我隆隆 | 来源:发表于2019-03-17 19:36 被阅读0次

    使用 SELECT 和 ORDER BY 进行排序检索

    一、排序数据

    关系型数据库设计理论认为:如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有任何意义

    子句(clause)
    概念:SQL语句由子句构成,子句有些是必需的,有些是可选的。子句由关键字加上提供的数据组成。

    可使用 ORDER BY 子句对被检索数据进行排序

    输入
    SELECT prod_name 
    FROM Products
    ORDER BY prod_name;
    
    输出
    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
    

    注意:1. ORDER BY 必须是 SELECT 语句中最后一条子句,否则将会出错 2. 默认按字母顺序排列和数字升序排列

    二、按多个列排序

    输入
    SELECT prod_id, prod_price, prod_name
    FROM Products
    ORDER BY prod_price, prod_name;
    
    输出
    prod_id     prod_price    prod_name
    -------     ----------    ---------
    BNBG02      3.49          Bird bean bag toy
    BNBG01      3.49          Fish bean bag toy
    BNBG03      3.49          Rabbit bean bag toy
    RGAN01      4.99          Raggedy Ann
    BR01        5.99          8 inch teddy bear
    BR02        8.99          12 inch teddy bear
    RYL01       9.49          King doll
    RYL02       9.49          Queen doll
    BR03        11.99         18 inch teddy bear
    

    注:只有在多行具有相同的 prod_price 值时才对产品按照 prod_name 进行排列。若 prod_price 值都不同,则不会按照 prod_name 排列

    三、按位置排列

    例:ORDER BY 2, 3
    解释:2 代表 prod_price,3 代表 prod_name

    四、指定排序方向

    ORDER BY 默认为升序排列,也可以用DESC关键字进行降序排列

    输入
    SELECT prod_id, prod_price, prod_name
    FROM Products
    ORDER BY prod_price DESC;
    
    输出
    prod_id     prod_price    prod_name
    -------     ----------    ---------
    BR03        11.99         18 inch teddy bear
    RYL01       9.49          King doll
    RYL02       9.49          Queen doll
    BR02        8.99          12 inch teddy bear
    BR01        5.99          8 inch teddy bear
    RGAN01      4.99          Raggedy Ann
    BNBG01      3.49          Fish bean bag toy
    BNBG02      3.49          Bird bean bag toy
    BNBG03      3.49          Rabbit bean bag toy
    

    若需要对多列进行排序,则可以这样

    输入
    SELECT prod_id, prod_price, prod_name
    FROM Products
    ORDER BY prod_price DESC, prod_name;
    
    输出
    prod_id     prod_price    prod_name
    -------     ----------    ---------
    BR03        11.99         18 inch teddy bear
    RYL01       9.49          King doll
    RYL02       9.49          Queen doll
    BR02        8.99          12 inch teddy bear
    BR01        5.99          8 inch teddy bear
    RGAN01      4.99          Raggedy Ann
    BNBG01      3.49          Fish bean bag toy
    BNBG02      3.49          Bird bean bag toy
    BNBG03      3.49          Rabbit bean bag toy
    

    输出结果和上例相同

    注:1. DESC关键字只作用在其前面的列名上,而prod_name仍按照升序排列(如果有价格相同的情况)

    相关文章

      网友评论

          本文标题:第三课 排序检索数据

          本文链接:https://www.haomeiwen.com/subject/bznprqtx.html