SQL必知会(二)-SQL查询篇(2)-排序检索数据

第3课、排序检索数据

排序数据
OEDER BY:排序
进行排序

1)按单个列排序

需求: 以 prod_name 字段按照字母顺序排序

SELECT prod_name
FROM Products
ORDER BY prod_name;
-- 以 prod_name 列按照字母顺序排序

输出结果:

SQL必知会(二)-SQL查询篇(2)-排序检索数据_第1张图片

2)按多个列排序

需求:如果 prod_price 值相同(先按默认升序排序),才按prod_name 值排序

SELECT prod_id,prod_price,prod_name
FROM Products
ORDER BY prod_price,prod_name;
-- 如果 prod_price 值相同,才按prod_name 值排序

输出结果:

SQL必知会(二)-SQL查询篇(2)-排序检索数据_第2张图片

3)按列位置排序

需求:先按 prod_price ,再按 prod_name 排序

SELECT prod_id,prod_price,prod_name
FROM Products
ORDER BY 2,3;
-- 先按 prod_price ,再按 prod_name 排序

输出结果:

输出结果跟“ 2)按多个列排序 ”的结果相同。

4)指定排序方向
使用 ORDER BY 子句进行降序排序。(升序排序是默认的排序顺序) ***需求:按 prod_price 进行降序排序***
SELECT prod_id,prod_price,prod_name
FROM Products
ORDER BY prod_price DESC;

输出结果:

SQL必知会(二)-SQL查询篇(2)-排序检索数据_第3张图片

5)使用多个列排序来降序排序

需求:prod_price 以降序排序,prod_name 默认升序排序

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

-- prod_price 以降序排序,prod_name 默认升序排序

输出结果:

SQL必知会(二)-SQL查询篇(2)-排序检索数据_第4张图片

总结

OEDER BY:排序

SELECT 列
FROM 表
ORDER BY 列;

SELECT 列1,列2,列3
FROM 表
ORDER BY 列2,列3;
-- 先按列2值升序排序,再根据列2相同值里的项,按列3升序排序


SELECT 列1,列2,列3
FROM 表
ORDER BY 2,3;
-- 2 和 3 代表的是 SELECT 中的列2和列3
-- 也就是ORDER BY 设置数字范围在1~3(SELECT 枚举的列数),超出该范围的值会提示语法错误。

细节区别:
ORDER BY 列2,列3;(是根据表里的列来排序,即便 SELECT 中没有枚举出,也照样正常输出结果)
ORDER BY 2,3;(是根据SELECT 枚举的列数来排序)

DESC:降序

SELECT 列
FROM 表
ORDER BY 列 DESC;

SELECT 列1,列2
FROM 表
ORDER BY 1 DESC,2;

你可能感兴趣的:(数据库,sql,数据库)