数据库

数据库学习笔记——03排序检索数据

2018-09-18  本文已影响9人  Love零O

排序数据_ORDER BY

SELECT prod_name from products ORDER BY prod_name

ORDER BY必须是select语句的最后一个子句。

order_by.png
通常,ORDER BY 子句中使用的列将是为显示而选择的列。但是,实际上并不一定要这样,用非检索的列排序数据是完全合法的。比如:SELECT prod_name from products ORDER BY prod_price;

按多个列排序

SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price,prod_name

order_by2.png

按列位置排序

SELECT prod_id,prod_price,prod_name FROM products ORDER BY 2,3

按列位置排序.png
SELECT清单中指定的是选择列的相对位置而不是列名。ORDER BY 2表示按SELECT清单中的第二个列prod_price进行排序。ORDER BY 2,3表示先按prod_price,再按prod_name进行排序。

提示: 按非选择列进行排序
当根据不出现在SELECT清单中的列进行排序时,不能采用这项技术。但是,如果有必要,可以混合使用实际列名和相对位置。比如:SELECT prod_id,prod_price,prod_name FROM products ORDER BY 2,vend_id

指定排序方向

查询结果默认是升序——ASC(ascending的缩写)
如果需要将查询结果按降序来排序,需要使用关键字DESC(descending的缩写)

SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price DESC

desc.png
按多个列排序:
SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price DESC,prod_name
desc2.png

DESC关键字只应用到直接位于其前面的列名。如果想在多个列上进行降序排序,必须对每一个列指定DESC关键字

SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price DESC,prod_name DESC

desc3.png
上一篇下一篇

猜你喜欢

热点阅读