SQL必知必会-03
排序检索数据
排序数据
在一般的select语句中,查询出来的结果,可能是排序的也可能是不排序的,它是根据数据库添加的顺序进行返回的,所以如果需要随数据进行排序,需要加上子句对其进行限制。
排序关键字: order by 排序字段
eg:select prod_name from Products order by prod_name;
DBMS软件会对prod_name列以字母的顺序进行排序.
ps:order by子句需要保证它是select语句的最后一个子句
按多个列排序
order by 列名1,列名2
DBSM先对列名1进行排序,在列名1如果又重复的,将对重复的以列名2进行排序。
按列位置排序(不推荐使用)
order by 支持对列的相对位置进行排序。
eg:select prod_id, pro_price, prod_name from Products order by 2, 3;
order by 会根据select中指定的列的相对位置进行排序,这样会出现列名排列出错时,排序也出现错误。
指定排序方向
order by子句的默认是升序(关键字ASC,可以省略),但是还可以降序。指定关键字desc。
eg: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关键字只会对它前面的字段有作用,后面的字段如果不指定还是会按默认的排序方式及进行排序。