排序检索数据

SELECT prod_name
FROM Products;
# 这样直接检索出的单个列,并没有特定的顺序
-- 关系数据库设计理论认为,如果不明确规定顺序排序,则不应该假定检索出的数据的顺序有任何意义

-- 为了明确的进行排序可使用order by 字句(order by字句出现的位置必须是SELECT语句中最后一条,否则会报错)
SELECT prod_name
FROM Products
ORDER BY prod_name;

-- 多个列排序(列名之间用逗号分开即可)
#比如对A,B两列排序,先对A排序,对于A中的相同值,再按照B列排序,如果没有,则不会按照B列排序
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 2,3;
#这里的输出查询与上面的相同,所谓的位置是指SELECT清单中的列的相对位置,也可以混合使用实际列名和相对列位置

-- 指定排序方向(一般默认是从A到Z),如果要降序的话必须指定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;

/* 注意prod_name列仍然按照标准的升序进行排序 如果想要对多列进行降序排序
则必须对每一列指定DESC*/

/* 在字典排序中大小写的排序比如A和a视为相同
这是大多数DBMS的默认行为,如果需要改变,则
请求数据库管理员的帮助
*/

原文地址:https://www.cnblogs.com/ao-yu-a/p/11069429.html