3.1 排序数据ODER BY子句(正序,A-Z,小到大)
输入:
SELECT prod_name
FROM Products
ORDER BY prod_name; --按名字排序
输出:
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??
*ODER BY子句的位置必须在最后一行
3.2 按多个列排序
输入:
SELECT prod_id, prod_price, prod_name
FROM Products
????ORDER BY prod_price, prod_name; ??--按价格、名字排序
输出:
prod_id prod_price prod_name
------- ---------- --------------------
BNBG02 3.4900 Bird bean bag toy
BNBG01 3.4900 Fish bean bag toy
BNBG03 3.4900 Rabbit bean bag toy
????RGAN01 4.9900 Raggedy Ann
BR01 5.9900 8 inch teddy bear
????BR02 8.9900 12 inch teddy bear
????RYL01 9.4900 King doll
RYL02 9.4900 Queen doll
????BR03 11.9900 18 inch teddy bear??
优先按prod_price和prod_name来排序。
*仅在多个行具有相同的prod_price值时才对产品按prod_name进行排序。如果prod_price列中所有的值都是唯一的,则不会按prod_name排序。(上图前三个都是34900,然后再按name的首写字幕进行排序。如果只有1各34900,就不会排序,因为没有东西可排……)
3.3 按列位置排序
输入:
SELECT prod_id, prod_price, prod_name
FROM Products
????ORDER BY 2,3;?? --按第2、3列排序
输出:
和3.2中的相同
3.4 置顶排序方向DESC(倒序Z-A,大到小)
DESC是DESCENDING的缩写,相对的是ASC(ASCEENDING),但因为ODER BY默认就是ASC,所以写ASC没有必要
输入:
SELECT prod_id, prod_price, prod_name
FROM Products
????ORDER BY prod_price DESC;?? --按价格降序排列,DESC写在列名后
输出:
prod_id prod_price prod_name
????------- ---------- --------------------
????BR03 11.9900 18 inch teddy bear
RYL01 9.4900 King doll
RYL02 9.4900 Queen doll
????BR02 8.9900 12 inch teddy bear
????BR01 5.9900 8 inch teddy bear
RGAN01 4.9900 Raggedy Ann
????BNBG01 3.4900 Fish bean bag toy
????BNBG02 3.4900 Bird bean bag toy
????BNBG03 3.4900 Rabbit bean bag toy
注意:DESC关键词只应用到直接位于其前面的列名
输入:
ELECT prod_id, prod_price, prod_name
????FROM Products
????ORDER BY prod_price DESC, prod_name;?? --只给价格降序排序,名字正序排序
输出:
rod_id prod_price prod_name
????------- ---------- --------------------
????BR03 11.9900 18 inch teddy bear
????RYL01 9.4900 King doll
RYL02 9.4900 Queen doll
????BR02 8.9900 12 inch teddy bear
????BR01 5.9900 8 inch teddy bear
????RGAN01 4.9900 Raggedy Ann
????BNBG02 3.4900 Bird bean bag toy
????BNBG01 3.4900 Fish bean bag toy
????BNBG03 3.4900 Rabbit bean bag toy??
注意:如果想在多个列上进行降序排序,必须对每一列指定DESC关键字。
3.6 练习题编写SQL语句,从Customers中检索所有的顾客名称(cust_names),并按从Z到A的顺序显示结果。编写SQL语句,从Orders表中检索顾客ID(cust_id)和订单号(order_num),并先按顾客ID对结果进行排序,再按订单日期倒序排列。显然,我们的虚拟商店更喜欢出售比较贵的物品,而且这类物品有很多。编写SQL语句mssql 按关键字排序,显示OrderItems表中的数量和价格(item_price),并按数量由多到少、价格由高到低排序。下面的SQL语句有问题吗?(尝试在不运行的情况下指出。)
SELECT vend_name,
??????FROM Vendors
??????ORDER vend_name DESC;??
答案:
第一题:
SELECT cust_name
FROM Customers
ORDER BY cust_name DESC;
第二题:
SELECT cust_id,order_num
FROM Orders
ORDER BY cust_id,order_date DESC;
第三题:
SELECT quantity,item_price
FROM OrderItems
ORDER BY quantity DESC,item_price DESC;
第四题:
“SELECT vend_name,”不该有逗号ORDER后少了一个BY
(编辑:海南站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|