2016.11.29
五.排序数据
SELECT
columnlist
FROM tablelist
ORDER BY columnlist
ORDER BY子句总是在FROM子句后面,columnlist表示可以列出任意多的列,可以是单个的列也可以是较为复杂的表达式。SELECT和ORDER BY后面的列可以是完全不同的列。tablelist表示可以是任意多的表。
5.1 升序排列 ASC
默认的排序顺序就是升序排列,当然可以省略ASC。
SELECT
columnlist
FROM tablelist
ORDER BY columnlist ASC
5.2 降序排列 DESC
SELECT
columnlist
FROM tablelist
ORDER BY columnlist DESC
5.3 根据多列排序
SELECT
columnlist
FROM tablelist
ORDER BY columnlist1,columnlist2
表示先按照columnlist1排序再按照columnlist2排序。
5.4 根据计算字段排序
SELECT
Column1,
Column2
FROM tablelist
ORDER BY Column1+Column2
等同于
SELECT
Column1+Column2 AS ‘name’
FROM tablelist
ORDER BY name
5.5 混合数据类型
每个数据库都允许用户指定或定制排序规则的设置,该设置可以管理数据排序的细节。这些设置在各个数据库中可能不同,一般满足3个原则
(1)当数据以升序排序时,带有NULL值的数据会最先出现,降序排序则相反。ORACLE中相反。
(2)在NULL值后面就是数字,然后是字符。对于字符数据,不区分大小写。但是ORACLE中区分大小写,并且在升序排列时,大写一般在小写之前。
(3)对于字符数据,单个字符组成的值从左至右来计算。如:AB会排在AC之前。