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

第3课、排序检索数据

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

1)按单个列排序

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

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

输出结果:

请添加图片描述

2)按多个列排序

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

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

输出结果:

请添加图片描述

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;

输出结果:

请添加图片描述

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 默认升序排序

输出结果:

请添加图片描述

总结

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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值