zoukankan      html  css  js  c++  java
  • 第3课 排序检索数据

    第3课 排序检索数据

    3.1 排序数据

    ORDER BY子句取一个或多个列的名字,据此对输出进行排序。

    SELECT prod_name
    FROM Products
    ORDER BY prod_name; 
    

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

    3.2 按多个列排序

    要按多个列排序,简单指定列名,列名之间用逗号分开即可(就像选择多个列时那样)。

    下面的代码检索3个列,并按其中两个列对结果进行排序——首先按价格,然后按名称排序。

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

    对于上述例子中的输出,仅在多个行具有相同的prod_price值时才对产品按prod_name进行排序。如果prod_price列中所有的值都是唯一的,则不会按prod_name排序。

    3.3 按列位置排序

    除了能用列名指出排序顺序外,ORDER BY还支持按相对列位置进行排序。

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

    ORDER BY 2,3表示先按prod_price,再按prod_name进行排序。

    3.4 指定排序方向

    为了进行降序排序,必须指定DESC关键字。

    下面的例子以价格降序来排序产品(最贵的排在最前面):

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

    如果打算用多个列排序,该怎么办?下面的例子以降序排序产品(最贵的在最前面),再加上产品名:

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

    DESC关键字只应用到直接位于其前面的列名。在上例中,只对prod_price列指定DESC,对prod_name列不指定。

    警告:在多个列上降序排序
    如果想在多个列上进行降序排序,必须对每一列指定DESC关键字。

    3.5 小结

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

  • 相关阅读:
    Git 历史/术语/命令/基本操作
    SQL 术语/语法/基本操作-必知必会
    bootstrap cdn地址
    IDEA 快捷键 大幅提高工作效率
    Django3 模版配置/过滤器/markdown=9
    Django3 路由文件位置/文件格式/路由传值=8
    Django3 创建项目/app全流程=7
    VS Code Django解决不必要报错
    Django3 如何使用静态文件/如何自定义后台管理页面=6
    Django3 如何编写单元测试和全面测试=5
  • 原文地址:https://www.cnblogs.com/zhangsonghui/p/12943037.html
Copyright © 2011-2022 走看看