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


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

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

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

     

     https://www.nowcoder.com/link/pc_csdncpt_tltqe_sql

    前言

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

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

    主要原因有三点:

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

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

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

    一、排序检索数据

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

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

    方式:

    1.数据排序  

    例如:

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

    2.多列排序  

    例如:

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

    3.位置排序  

    例如:

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

    4.指定排序  

    例如:

    大小排序

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

    等等......

    二、刷题

    1.刷题一

    (1)题目

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

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

    (2)难易程度

    难易程度:中等

    (3)示例

    1. 输入:
    2. DROP TABLE IF EXISTS `Customers`;
    3. CREATE TABLE IF NOT EXISTS `Customers`(
    4. cust_id VARCHAR(255) NOT NULL COMMENT '客户id',
    5. cust_name VARCHAR(255) NOT NULL COMMENT '客户姓名'
    6. );
    7. INSERT `Customers` VALUES ('a1','andy'),('a2','ben'),('a3','tony'),('a4','tom'),('a5','an'),('a6','lee'),('a7','hex');
    8. 输出:
    9. cust_name
    10. tony
    11. tom
    12. lee
    13. hex
    14. ben
    15. andy
    16. an

    (4)代码

    SELECT cust_name FROM Customers ORDER BY cust_name DESC;

    (5)运行截图

     

    2.刷题二

    (1)题目

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

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

    (2)难易程度

    难易程度:简单

    (3)示例

    1. 输入:
    2. DROP TABLE IF EXISTS `Orders`;
    3. CREATE TABLE IF NOT EXISTS `Orders` (
    4. `cust_id` varchar(255) NOT NULL COMMENT '顾客 ID',
    5. `order_num` varchar(255) NOT NULL COMMENT '订单号',
    6. `order_date` timestamp NOT NULL COMMENT '订单时间'
    7. );
    8. INSERT INTO `Orders` VALUES ('andy','aaaa','2021-01-01 00:00:00'),
    9. ('andy','bbbb','2021-01-01 12:00:00'),
    10. ('bob','cccc','2021-01-10 12:00:00'),
    11. ('dick','dddd','2021-01-11 00:00:00');
    12. 输出:
    13. andy|bbbb
    14. andy|aaaa
    15. bob|cccc
    16. dick|dddd

    (4)代码

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

    (5)运行截图

    3.刷题三

    (1)题目

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

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

    (2)难易程度

    难易程度:简单

    (3)示例

    1. 输入:
    2. DROP TABLE IF EXISTS `OrderItems`;
    3. CREATE TABLE IF NOT EXISTS `OrderItems` (
    4. `quantity` INT(64) NOT NULL COMMENT '数量',
    5. `item_price` INT(64) NOT NULL COMMENT '订单价格'
    6. );
    7. INSERT INTO `OrderItems` VALUES (1,100),
    8. (10,1003),
    9. (2,500);
    10. 输出:
    11. 10|1003
    12. 2|500
    13. 1|100

    (4)代码

    1. select
    2. quantity,
    3. item_price
    4. from OrderItems
    5. order by 1 desc, 2 desc

    (5)运行截图

    4.刷题四

    (1)题目

    题目:检查SQL语句

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

    (2)难易程度

    难易程度:简单

    (3)示例

    1. 输入:
    2. DROP TABLE IF EXISTS `Vendors`;
    3. CREATE TABLE IF NOT EXISTS `Vendors` (
    4. `vend_name` VARCHAR(255) NOT NULL COMMENT 'vend名称'
    5. );
    6. INSERT INTO `Vendors` VALUES ('海底捞'),
    7. ('小龙坎'),
    8. ('大龙燚');
    9. 输出:
    10. 海底捞
    11. 小龙坎
    12. 大龙燚

    (4)代码

    1. SELECT vend_name
    2. FROM Vendors
    3. ORDER BY vend_name DESC;

    (5)运行截图

    三、小结

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

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

  • 相关阅读:
    类型转换(2)
    Kotlin语言的函数头学习
    mingw-w64安装
    k8s单master集群部署完整流程及坑点总结(docker)
    【RHCE】web服务器及http配置(下)
    BERT知识蒸馏TinyBERT
    话题浏览上涨70.6%!搞到“新顶流”了,小红书数据洞察品牌动作!
    (个人记录)Ensight后处理EDEM学习笔记
    记录造数据测试接口
    uniapp iconfont-引用阿里巴巴矢量图标库
  • 原文地址:https://blog.csdn.net/weixin_50481708/article/details/126513774