Adams小乙

2022-01-11   阅读量: 63

数据库基础

SQL学习——排序:ORDER BY子句

  1. SELECT语句检索输出结果往往是机器排序,不总是我们易于观察和导出的顺序。当使用ORDER BY子句置于句末时,可以按照自定的列来排序:

  2. SELECT prod_id, prod_price, prod_name FROM Products ORDER BY prod_price;——表示检索出的“ prod_id, prod_price, prod_name”三列按照“ prod_price”列的排序。


  3. 组合排序是指单列中有重复行,运用另一列作为辅助排序的方法:

  4. SELECT prod_id, prod_price, prod_name FROM Products ORDER BY prod_price,prod_name;——表示先按照prod_price列排序,再按照prod_name列排序。


  5. 还有使用检索列的相对位置排序的方法:

  6. SELECT prod_id, prod_price, prod_name FROM Products ORDER BY 2,3;——先按照检索的第二列排序,再按照检索的第三列排序。当然,在后续更改SELECT后列名时,ORDER BY后的数值也应该随之修改,以免翻车。


  7. ORDER BY子句默认顺序是升序——即由A到Z,由小到大。当需要降序时可以在其后添加关键字“DESC”:

  8. SELECT prod_id, prod_price, prod_name FROM Products ORDER BY prod_price DESC;——表示按照“prod_price”列由大到小的顺序排序。


  9. 多列降序则应该在每个列名后面都加上“DESC”关键字:

  10. SELECT prod_id, prod_price, prod_name FROM Products ORDER BY prod_price DESC,prod_name DESC;——表示先按照prod_price列的降序排序,再按照prod_name列的降序排序。如果只在其一后添加DESC:SELECT prod_id, prod_price, prod_name FROM Products ORDER BY prod_price DESC,prod_name;——那么表示先按照prod_price列的降序排序,再按照prod_name列的升序排序。二者均容易出错,切忌。


  11. 补充:数据库排序规则中A与a通常被视为相同,但是DBMS允许数据库管理员改变这种默认做法,而这些需要更多的SQL语言,而非单单ORDER BY子句能够完成的。

42.5007 5 0 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子