当前位置: 首页 > news >正文

【SQL刷题】DAY21----SQL组合查询专项练习

博主昵称:跳楼梯企鹅
创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望各位技术友给予指导。
博主座右铭:发现光,追随光,成为光,散发光;
博主研究方向:渗透测试、机器学习 ;
博主寄语:感谢各位技术友的支持,您的支持就是我前进的动力 ;

牛客刷题:牛客刷题跳转链接

目录

前言

 一、组合查询

二、刷题

1.题目一

(1)题目

(2)题目难度

(3)示例

(4)代码

(5)运行截图

2.题目二

(1)题目

(2)题目难度

(3)示例

(4)代码

(5)运行截图

3.题目三

(1)题目

(2)题目难度

(3)示例

(4)代码

(5)运行截图

4.题目四

(1)题目

(2)题目难度

(3)示例

(4)代码

(5)运行截图

 三、小结

 


前言

给大家推荐一款比较好的刷题王站,马上秋招的小伙伴 快来冲起来,学起来,卷起来

 一、组合查询

UNION非常容易使用,但是使用时有规则。

1.UNION必须由两条或者以上的SELECT组成,语句之间用UNION分隔,三个SELECT语句就用两个UNION

2.UNION的每个查询必须包含相同的列、表达式或者聚集函数

3.列数据类型必须兼容

二、刷题

1.题目一

(1)题目

题目:将两个 SELECT 语句结合起来(一)
描述:将两个 SELECT 语句结合起来,以便从 OrderItems表中检索产品 id(prod_id)和 quantity。其中,一个 SELECT 语句过滤数量为 100 的行,另一个 SELECT 语句过滤 id 以 BNBG 开头的产品,最后按产品 id 对结果进行升序排序。

(2)题目难度

本题难易程度:中等

(3)示例

输入:

DROP TABLE IF EXISTS `OrderItems`;
CREATE TABLE IF NOT EXISTS `OrderItems`(
	prod_id VARCHAR(255) NOT NULL COMMENT '产品id',
	quantity VARCHAR(255) NOT NULL COMMENT '商品数量'
);
INSERT `OrderItems` VALUES ('a0001',105),('a0002',100),('a0002',200),('a0013',1121),('a0003',10),('a0003',19),('a0003',5),('BNBG',10002);

输出:

a0002|100.000
BNBG|10002.000

(4)代码

select prod_id,quantity 
from OrderItems
where quantity = 100
union
select prod_id,quantity 
from OrderItems
where prod_id like 'BNBG%'
order BY prod_id

(5)运行截图

 

2.题目二

(1)题目

题目:将两个 SELECT 语句结合起来(二)

描述:  将两个 SELECT 语句结合起来,以便从 OrderItems表中检索产品 id(prod_id)和 quantity。其中,一个 SELECT 语句过滤数量为 100 的行,另一个 SELECT 语句过滤 id 以 BNBG 开头的产品,最后按产品 id 对结果进行升序排序。

(2)题目难度

本题难易程度:简单

(3)示例

输入:

DROP TABLE IF EXISTS `OrderItems`;
CREATE TABLE IF NOT EXISTS `OrderItems`(
	prod_id VARCHAR(255) NOT NULL COMMENT '产品id',
	quantity VARCHAR(255) NOT NULL COMMENT '商品数量'
);
INSERT `OrderItems` VALUES ('a0001',105),('a0002',100),('a0002',200),('a0013',1121),('a0003',10),('a0003',19),('a0003',5),('BNBG',10002);

输出:

a0002|100.000
BNBG|10002.000

(4)代码

select prod_id, quantity
from OrderItems
where quantity = 100
or prod_id regexp '^BNBG'

(5)运行截图

3.题目三

(1)题目

题目:组合 Products 表中的产品名称和 Customers 表中的顾客名称

描述:编写 SQL 语句,组合 Products 表中的产品名称(prod_name)和 Customers 表中的顾客名称(cust_name)并返回,然后按产品名称对结果进行升序排序。

(2)题目难度

本题难易程度:简单

(3)示例

输入:

DROP TABLE IF EXISTS `Products`;
CREATE TABLE IF NOT EXISTS `Products` (
`prod_name` VARCHAR(255) NOT NULL COMMENT '产品名称'
);
INSERT INTO `Products` VALUES ('flower'),
('rice'),
('ring'),
('umbrella');

DROP TABLE IF EXISTS `Customers`;
CREATE TABLE IF NOT EXISTS `Customers`(
	cust_name VARCHAR(255) NOT NULL COMMENT '客户姓名'
);
INSERT `Customers` VALUES ('andy'),('ben'),('tony'),('tom'),('an'),('lee'),('hex');

输出:

an
andy
ben
flower
hex
lee
rice
ring
tom
tony
umbrella

(4)代码

select prod_name
from Products
union all
select cust_name
from Customers
order by prod_name

(5)运行截图

 

4.题目四

(1)题目

题目:纠错4
描述:修正下面错误的SQL

(2)题目难度

本题难易程度:入门

(3)示例

输入:

DROP TABLE IF EXISTS `Customers`;
CREATE TABLE IF NOT EXISTS `Customers`(
    cust_name VARCHAR(255) NOT NULL COMMENT '顾客id',
    cust_contact VARCHAR(255) NOT NULL COMMENT '顾客联系方式',
    cust_state VARCHAR(255) NOT NULL COMMENT '顾客州',
    cust_email VARCHAR(255) NOT NULL COMMENT '顾客email'
  );
INSERT `Customers` VALUES ('cust10','8695192','MI','cust10@cust.com'),('cust1','8695193','MI','cust1@cust.com'),('cust2','8695194','IL','cust2@cust.com');

输出:

cust1|8695193.000|cust1@cust.com
cust10|8695192.000|cust10@cust.com
cust2|8695194.000|cust2@cust.com

(4)代码

SELECT cust_name, cust_contact, cust_email 
FROM Customers 
WHERE cust_state = 'MI' 
UNION 
SELECT cust_name, cust_contact, cust_email 
FROM Customers 
WHERE cust_state = 'IL'
ORDER BY cust_name; 

(5)运行截图

 三、小结

本篇文章为SQL刷题第21天

欢迎大家一起和博主来刷题0SQL刷题点击开始学习2

相关文章:

  • 解决使用Lambda分组后,每组多条数据处理
  • 商业地产如何走出高空置率困局?
  • <学习笔记>从零开始自学Python-之-基础语法篇(十一)正则表达式re库
  • 随想录一期 day2 [977.有序数组的平方|209. 长度最小的子数组|59.螺旋矩阵II(剥洋葱)]
  • 自动驾驶数据标注基本框架,你了解多少?丨曼孚科技
  • 前景理论-风险决策分析的思维模型
  • Intel汇编-CMOV条件传送指令
  • 基于java宠物交易计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
  • 单片机毕设选题 - 便携式空气质量检测系统(物联网 嵌入式)
  • gsnark中的证明方案及曲线
  • LL(1)文法定义及判别
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • 02-C语言经典算法100例
  • 〖Python 数据库开发实战 - Python与Redis交互篇③〗- 利用 redis-py 实现列表数据类型的常用指令操作
  • LwIP学习笔记1 - LwIP的设计目的、分层设计思想及模块划分概览
  • 深入了解以太坊
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • android图片蒙层
  • Angular 响应式表单之下拉框
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • echarts的各种常用效果展示
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • Redis字符串类型内部编码剖析
  • SQL 难点解决:记录的引用
  • tensorflow学习笔记3——MNIST应用篇
  • 构建工具 - 收藏集 - 掘金
  • 将回调地狱按在地上摩擦的Promise
  • 聊聊flink的TableFactory
  • 突破自己的技术思维
  • 想写好前端,先练好内功
  • elasticsearch-head插件安装
  • RDS-Mysql 物理备份恢复到本地数据库上
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​决定德拉瓦州地区版图的关键历史事件
  • #Ubuntu(修改root信息)
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (ZT)出版业改革:该死的死,该生的生
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (剑指Offer)面试题34:丑数
  • (四)JPA - JQPL 实现增删改查
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (一)Java算法:二分查找
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .Net Core 中间件验签
  • .Net Core与存储过程(一)