10.3.3 以特定的顺序获取数据

如果要通过查询以某一特定顺序显示查询行,可以利用SELECT语句中的ORDER BY子句。

该特性可以方便地用于实现很好的可阅读格式的显示输出。

ORDER BY子句可以根据出现在SELECT子句中的一列或多列对数据行进行排序。例如:


select name,address

from customers

order by name;


该查询将以名称的字母顺序返回顾客的名称与地址,如下所示:


+————————-+——————————+

|name|address|

+————————-+——————————+

|Alan Wong|1/47 Haines Avenue|

|Julie Smith|25 Oak Street|

|Michelle Arthur|357 North Road|

+————————-+——————————+


请注意,在这个例子中,因为名称的格式为“姓,名”,它们的字母顺序是以姓排序的。如果要按照名排序,则需要将它们分配到两个不同的字段。

默认的顺序是升序(从a到z或数字顺序)。如果使用了ASC关键词,也可以指定它:


select name,address

from customers

order by name asc;


还可以用DESC(descending,降序)关键词指定它为降序:


select name,address

from customers

order by name desc;


此外,也可以在多于一列的基础上进行排序。还可以使用列的别名或者甚至它们的位置数字(例如,3是表中第3列)代替其名称。