第3课 排序检索数据

这一课讲授如何使用 SELECT语句的ORDER BY子句,根据需要排序检索出的数据。 ORDER BY默认是升序排序。

排序数据

ORDER BY 子句取一个或多个列的名字,据此对输出进行排序。

SELECT col_name FROM tablename ORDER BY col_name;

注意:在指定一条ORDER BY子句时,应该保证它是SELECT语句中最后一条子句。如果不是最后一条子句,将会出现错误信息。

提示:可以使用非检索的列排序数据哦。

按多个列排序

要按照多个列排序,简单指定列名,列名见用逗号分开即可。

SELECT col_name1, col_name2, col_name3 FROM tablename ORDER BY col_name1, col_name2;

重要的是理解 按多个列排序时,排序的顺序完全按规定进行。比如,仅在多个行具有相同的col_name1时才按照col_name2排序,如果col_name1列中的值全部不同,则不会按照col_name2排序。

指定排序方向

默认数据排序方式是升序。可以借助于DESC关键字进行降序排序。

SELECT col_name FROM tablename ORDER BY col_name DESC;

SELECT col_name1, col_name2, col_name3 FROM tablename ORDER BY col_name1 DESC, col_name2;

注意:DESC 关键词只应用到直接位于其前面的列名。如果想在多个列上进行降序排序,必须对每一列指定DESC关键词。