SQL必知必会 第三课 笔记——排序检索数据

第3课 排序检索数据
这一课讲授如何使用SELECT语句的 ORDER BY子句,根据需要排序检索出的数据。
3.1 排序数据
      子句(clause):SQL语句由子句构成,有些子句是必需的,有些则是可选的。一个子句通常由一个关键字加上所提供的数据组成。子句的例子有我们在前一课看到的SELECT语句的FROM子句。
       为了明确地排序用SELECT语句检索出的数据,可使用ORDER BY子句。
SELECT prod_name
FROM Products
ORDER BY prod_name;
ORDER BY子句的位置
       在指定一条ORDER BY子句时,应该保证它是SELECT语句中最后一条子句。如果它不是最后的子句,将会出现错误消息。

3.2 按多个列排序
       经常需要按不止一个列进行数据排序。例如,如果要显示雇员名单,可能希望按姓和名排序(首先按姓排序,然后在每个姓中再按名排序)。如果多个雇员有相同的姓,这样做很有用。
       要按多个列排序,简单指定列名,列名之间用逗号分开即可(就像选择多个列时那样)。
SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY prod_price, prod_name;
注意:如果prod_price列中所有的值都是唯一的,则不会按prod_name排序

3.3 按列位置排序
SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY 2, 3;
BY2,3;和3.2的BY prod_price,prod_name功能相同;不同在于是选择列的相对位置而不是列名。

3.4 指定排序方向
       默认升序排序。为了进行 降序排序,必须指定 DESC关键字。
SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY prod_price DESC ;
警告:DESC关键字只应用到直接位于其前面的列名。如果想在多个列上进行降序排序,必须对每一列指定DESC关键字。

猜你喜欢

转载自blog.csdn.net/zjhysj/article/details/80482145