【SQL刷题】Day8----SQL排序检索数据专项练习

简介: 【SQL刷题】Day8----SQL排序检索数据专项练习

 

博主昵称:跳楼梯企鹅
博主主页面链接:博主主页传送门

博主专栏页面连接:专栏传送门--网路安全技术
创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望各位技术友给予指导。
博主座右铭:发现光,追随光,成为光,散发光;
博主研究方向:渗透测试、机器学习 ;
博主寄语:感谢各位技术友的支持,您的支持就是我前进的动力 ;

学习网站跳转链接:牛客刷题网

image.gif

前言

给大家推荐一款很好的刷题软件牛客刷题网---一起学SQL

图片.png

博主为什么喜欢用这个网站学习呢?

主要原因有三点:

1.内部含有大量面试题库

2.覆盖行业范围比较全面

3.刷题的题目是按照简单到难的过程

一、排序检索数据

简介:排序检索数据简单来说,就是检索数据的过程中,加入特定函数,使得需要查询的数据进行指定方式排列,是数据库的基础,也是常用的检索方式。

主要函数:排序检索数据Order by

方式:

1.数据排序  

例如:

SELECT 字段名 FROM 表名 ORDER BY 字段名(同前);

image.gif

2.多列排序  

例如:

SELECT 字段1,字段2,字段3 FROM 表名 ORDER BY 字段1,字段2;

image.gif

3.位置排序  

例如:

SELECT 字段1,字段2,字段3 FROM 表名 ORDER BY 2,3;

image.gif

4.指定排序  

例如:

大小排序

SELECT 字段1,字段2,字段3 FROM 表名 ORDER BY 字段 DESC;

image.gif

等等......

二、刷题

1.刷题一

(1)题目

题目:检索顾客名称并且排序

描述:有表Customers,cust_id代表客户id,cust_name代表客户姓名。

图片.png

(2)难易程度

难易程度:中等

(3)示例

输入:
DROP TABLE IF EXISTS `Customers`;
CREATE TABLE IF NOT EXISTS `Customers`(
  cust_id VARCHAR(255) NOT NULL COMMENT '客户id',
  cust_name VARCHAR(255) NOT NULL COMMENT '客户姓名'
);
INSERT `Customers` VALUES ('a1','andy'),('a2','ben'),('a3','tony'),('a4','tom'),('a5','an'),('a6','lee'),('a7','hex');
输出:
cust_name
tony
tom
lee
hex
ben
andy
an

image.gif

(4)代码

SELECT cust_name FROM Customers ORDER BY cust_name DESC;

image.gif

(5)运行截图

image.gif图片.png

2.刷题二

(1)题目

题目:对顾客ID和日期排序

描述:编写 SQL 语句,从 Orders 表中检索顾客 ID(cust_id)和订单号(order_num),并先按顾客 ID 对结果进行排序,再按订单日期倒序排列。

image.gif图片.png

(2)难易程度

难易程度:简单

(3)示例

输入:
DROP TABLE IF EXISTS `Orders`;
CREATE TABLE IF NOT EXISTS `Orders` (
  `cust_id` varchar(255) NOT NULL COMMENT '顾客 ID',
  `order_num` varchar(255) NOT NULL COMMENT '订单号',
  `order_date` timestamp NOT NULL COMMENT '订单时间'
);
INSERT INTO `Orders` VALUES ('andy','aaaa','2021-01-01 00:00:00'),
('andy','bbbb','2021-01-01 12:00:00'),
('bob','cccc','2021-01-10 12:00:00'),
('dick','dddd','2021-01-11 00:00:00');
输出:
andy|bbbb
andy|aaaa
bob|cccc
dick|dddd

image.gif

(4)代码

select cust_id,order_num from Orders order by cust_id asc,order_date desc

image.gif

(5)运行截图

图片.png

3.刷题三

(1)题目

题目:按照数量和价格排序

描述:编写 SQL 语句,显示 OrderItems 表中的数量(quantity)和价格(item_price),并按数量由多到少、价格由高到低排序。

图片.png

(2)难易程度

难易程度:简单

(3)示例

输入:
DROP TABLE IF EXISTS `OrderItems`;
CREATE TABLE IF NOT EXISTS `OrderItems` (
  `quantity` INT(64) NOT NULL COMMENT '数量',
  `item_price` INT(64) NOT NULL COMMENT '订单价格'
);
INSERT INTO `OrderItems` VALUES (1,100),
(10,1003),
(2,500);
输出:
10|1003
2|500
1|100

image.gif

(4)代码

select
    quantity,
    item_price
from OrderItems
order by 1 desc, 2 desc

image.gif

(5)运行截图

image.gif图片.png

4.刷题四

(1)题目

题目:检查SQL语句

描述: 给的SQL 语句有问题吗?尝试将它改正确,使之能够正确运行,并且返回结果根据vend_name逆序排列

image.gif图片.png

(2)难易程度

难易程度:简单

(3)示例

输入:
DROP TABLE IF EXISTS `Vendors`;
CREATE TABLE IF NOT EXISTS `Vendors` (
  `vend_name` VARCHAR(255) NOT NULL COMMENT 'vend名称'
);
INSERT INTO `Vendors` VALUES ('海底捞'),
('小龙坎'),
('大龙燚');
输出:
海底捞
小龙坎
大龙燚

image.gif

(4)代码

SELECT vend_name
FROM Vendors 
ORDER BY vend_name DESC;

image.gif

(5)运行截图

image.gif图片.png

三、小结

本片文章为MySQL刷题系列文章,第八天!

欢迎小伙伴一起来刷题,点击右边链接牛客------刷题网

目录
打赏
0
0
0
0
7
分享
相关文章
【Azure Developer】分享两段Python代码处理表格(CSV格式)数据 : 根据每列的内容生成SQL语句
本文介绍了使用Python Pandas处理数据收集任务中格式不统一的问题。针对两种情况:服务名对应多人拥有状态(1/0表示),以及服务名与人名重复列的情况,分别采用双层for循环和字典数据结构实现数据转换,最终生成Name对应的Services列表(逗号分隔)。此方法高效解决大量数据的人工处理难题,减少错误并提升效率。文中附带代码示例及执行结果截图,便于理解和实践。
121 4
【SQL 周周练】一千条数据需要做一天,怎么用 SQL 处理电表数据(如何动态构造自然月)
题目来自于某位发帖人在某 Excel 论坛的求助,他需要将电表缴费数据按照缴费区间拆开后再按月份汇总。当时用手工处理数据,自称一千条数据就需要处理一天。我将这个问题转化为 SQL 题目。
113 12
【SQL 周周练】爬取短视频发现数据缺失,如何用 SQL 填充
爬虫爬取抖音和快手的短视频数据时,如果遇到数据缺失的情况,如何使用 SQL 语句完成数据的补全。
79 5
阿里云DTS踩坑经验分享系列|DTS打通SQL Server数据通道能力介绍
SQL Server 以其卓越的易用性和丰富的软件生态系统,在数据库行业中占据了显著的市场份额。作为一款商业数据库,外部厂商在通过解析原生日志实现增量数据捕获上面临很大的挑战,DTS 在 SQL Sever 数据通道上深研多年,提供了多种模式以实现 SQL Server 增量数据捕获。用户可以通过 DTS 数据传输服务,一键打破自建 SQL Server、RDS SQL Server、Azure、AWS等他云 SQL Server 数据孤岛,实现 SQL Server 数据源的流动。
228 0
阿里云DTS踩坑经验分享系列|DTS打通SQL Server数据通道能力介绍
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
12月前
|
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
328 13
|
12月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
206 9
|
12月前
|
对比 SQL Server中的VARCHAR(max) 与VARCHAR(n) 数据类型
【7月更文挑战7天】SQL Server 中的 VARCHAR(max) vs VARCHAR(n): - VARCHAR(n) 存储最多 n 个字符(1-8000),适合短文本。 - VARCHAR(max) 可存储约 21 亿个字符,适合大量文本。 - VARCHAR(n) 在处理小数据时性能更好,空间固定。 - VARCHAR(max) 对于大文本更合适,但可能影响性能。 - 选择取决于数据长度预期和业务需求。
887 1
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
931 3
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问