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列)代替其名称。