SQL第3课__排序检索数据

SELECT prod_name FROM products(未排序)

Fish bean bag toy
Bird bean bag toy
Rabbit bean bag toy
8 inch teddy bear
12 inch teddy bear
18 inch teddy bear
Raggedy Ann
King doll
Queen doll

SELECT prod_name FROM products ORDER BY prod_name(排序)

12 inch teddy bear
18 inch teddy bear
8 inch teddy bear
Bird bean bag toy
Fish bean bag toy
King doll
Queen doll
Rabbit bean bag toy
Raggedy Ann

子句

子句通常由一个关键字加上所提供的数据组成。
如:SELECT语句的 FROM子句,ORDER BY子句

  1. 上个例子就是ORDERBY子句取一个或多个列的名字,据此进行输出进行排序

ORDER BY子句必须是最后一个子句

按多个列排序 SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price,prod_name

(简单指定列名,列名之间用逗号隔开)

SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price,prod_name

BNBG02 3.49 Bird bean bag toy
BNBG01 3.49 Fish bean bag toy
BNBG03 3.49 Rabbit bean bag toy
RGAN01 4.99 Raggedy Ann
BR01 5.99 8 inch teddy bear
BR02 8.99 12 inch teddy bear
RYL01 9.49 King doll
RYL02 9.49 Queen doll
BR03 11.99 18 inch teddy bear

order by子句对后面的的列名同时起作用,

  1. 如果有多列相同的price,在对name进行排序。
  2. 如果没有相同的price,不会对name进行排序。

按列位置排序 SELECT prod_id,prod_price,prod_name FROM products ORDER BY 2,3;

SELECT prod_id,prod_price,prod_name FROM products ORDER BY 2,3;

BNBG02 3.49 Bird bean bag toy
BNBG01 3.49 Fish bean bag toy
BNBG03 3.49 Rabbit bean bag toy
RGAN01 4.99 Raggedy Ann
BR01 5.99 8 inch teddy bear
BR02 8.99 12 inch teddy bear
RYL01 9.49 King doll
RYL02 9.49 Queen doll
BR03 11.99 18 inch teddy bear

和刚才的结果一样,2代表和select关键字后面的列名的第二个名字,3就是第三个呗。
如果有必要,可是混合使用实际列名和相对列名

指定排序反向 SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price DESC;(降序排序)

SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price DESC;

在这里插入图片描述

SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price DESC,prod_name;

在这里插入图片描述

DESC关键字只用到直接位于其前面的列名,如果在多个列上进行降序排序,需要对每一列指定DESC关键字

猜你喜欢

转载自blog.csdn.net/qq_40803626/article/details/88773637