表名:products
字段:product_id、product_name、product_price、vend_id(供应商)
根据数据库设计理论,如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有意义。
(如果数据没有经过更新或删除,则默认展现的顺序为数据添加的顺序)
子句(clause):SQL语句由子句构成,有些子句是有必要的,而有些是可选的。
如FROM子句,这里如果我们想实现排序则需要使用到ORDER BY子句。
1.排序数据
SELECT product_name FROM products ORDER BY product_name
注:这条语句是将product_name按照product_name进行排序。也可以使用非显示列作为排序
2.按多个列排序
SELECT product_name FROM products ORDER BY product_id,product_price
当有多条数据满足排序1时,才会按照排序2进行排序。
3.指定排序方向
SELECT product_name FROM products ORDER BY product_price DESC
注:数据排序默认是使用升序,使用关键字DESC会以降序方式排列。
先对价格进行降序排序,然后在对产品名排序
SELECT product_name FROM products ORDER BY product_price DESC ,product_name
注:升序的关键字:ASC,但是默认排序为升序。
大小写与排序顺序:大小写默认是相同的,但是DBA可以改变这种排序方式。
查询价格最高的产品名:
SELECT product_name FROM products ORDER BY product_price DESC LIMIT 1
注:ORDER BY的位置:在FROM之后,LIMIT之前。
总结:ORDER BY用于排序,该子句必须是SELECT语句的最后一条子句,可根据需要对一列或多列数据进行排序。