【SQL自学打卡|DAY12】——联结表专项学习
前言
❤欢迎大家阅读我的文章呀❤
希望你们在我的文章当中能有所收获!!!
SLogan:利用有限的时间,撸起袖子加油干!
知识点回顾
子查询的格式:
题目详情可参考DAY11文章当中的【SQL91】
SELECT cust_id
FROM Orders
WHERE order_num IN (
SELECT order_num
FROM OrderItems
WHERE item_price>=10
)
GROUP BY
必须得配合聚合函数来用,分组之后你可以计数(COUNT),求和(SUM),求平均数(AVG)等。
一、联结表
【SQL96】返回顾客名称和相关订单号
解题思路:
本题我使用的方法是WHERE进行简单的联结,也可以用其他方法。
内联结
SELECT cust_name,order_num
FROM Customers AS A
INNER JOIN Orders AS B
ON A.cust_id=B.cust_id
ORDER BY cust_name,order_num ASC
代码如下:
SELECT cust_name,order_num
FROM Customers AS A,Orders AS B
WHERE A.cust_id=B.cust_id
ORDER BY cust_name,order_num ASC
结果:
【SQL97】返回顾客名称和相关订单号以及每个订单的总价
解题思路:
这个题目主要考查的是多张表的联合查询,所以要分析准确,一步一步慢慢来,不然也会被绕晕。先将简单的SQL语句写出来,再组合成复杂的语句,问题就很容易解决了。
代码如下:
SELECT A.cust_name,B.order_num, SUM(quantity*item_price) AS OrderTotal
FROM Customers As A
LEFT JOIN Orders AS B
ON A.cust_id=B.cust_id
LEFT JOIN OrderItems AS C
ON B.order_num=C.order_num
GROUP BY A.cust_name,B.order_num
ORDER BY A.cust_name,B.order_num ASC
结果:
【SQL98】 确定哪些订单购买了 prod_id 为 BR01 的产品(二)
解题思路:
这是一道简单的表联结问题,顺着题目意思做下来就好啦。没有难度。
代码如下:
SELECT cust_id,order_date
FROM Orders AS B
LEFT JOIN OrderItems AS A
ON A.order_num=B.order_num
WHERE prod_id='BR01'
ORDER BY order_date
结果:
【SQL99】返回购买 prod_id 为 BR01 的产品的所有顾客的电子邮件(二)
解题思路:
根据题意,采用内联结和筛选即可。
代码如下:
SELECT cust_email
FROM Customers AS C
INNER JOIN Orders AS B
ON B.cust_id=C.cust_id
INNER JOIN OrderItems AS A
ON A.order_num=B.order_num
WHERE prod_id ='BR01'
结果:
【SQL100】 确定最佳顾客的另一种方式(二)
解题思路:
这题花了较多时间,原因就是出在细节上,因为有三张表,所以很容易弄错,不断排错,仔细检查!
代码如下:
SELECT C.cust_name,SUM(A.item_price*A.quantity) AS total_price
FROM Customers AS C
INNER JOIN Orders AS B
ON C.cust_id=B.cust_id
INNER JOIN OrderItems AS A
ON A.order_num=B.order_num
GROUP BY cust_name
HAVING SUM(A.item_price*A.quantity) >=1000
ORDER BY total_price ASC
结果:
总结
今天课比较多,所以现在才更新呀,今天上课的时候我们老师还分了一个云南特产的云腿月饼,第一次碰到,还没吃呢,感觉应该会有惊喜,之前吃过云南的鲜花饼,妈呀,超级好吃,好想去云南!
今天先更新一个章节的内容,都是一个类型的题目,方便大家参考!
不懂的问题要及时搞明白,不能得过且过啦!!大家一起加油!
感谢您宝贵的阅读,关注和点赞噢!❤
【SQL自学打卡|DAY12】——联结表专项学习相关推荐
- 【SQL自学打卡|DAY17】——多表查询
前言 ❤欢迎大家阅读我的文章呀❤ 大家周末愉快呀! 希望你们在我的文章当中能有所收获!!! SLogan:日拱一卒,功不唐捐! 知识点回顾 链接日期格式化 知识点:date_format() 通过这个 ...
- 【SQL自学打卡|DAY13】——组合查询
前言 ❤欢迎大家阅读我的文章呀❤ 今天是SQL必知必会的最后一块练习. 希望你们在我的文章当中能有所收获!!! SLogan:利用有限的时间,撸起袖子加油干! 知识点回顾 内联结:inner join ...
- 【SQL自学打卡|DAY11】——苟日新,日日新,又日新
前言 ❤欢迎大家到我的文章里呀❤ 希望你们在我的文章当中能有所收获,非常感谢!!! SLogan:利用有限的时间,撸起袖子加油干! 知识点回顾 where-过滤过滤指定的行 having–过滤分组,与 ...
- SQL自学总结四 MySQL多表操作
目录 一 多表关系 1 一对一关系 2 一对多/多对一关系 3 多对多关系 4 外键约束 在创建表时设置外键约束 在创建表后设置外键约束 多对多关系的外键约束 二 多表联查 1 交叉连接查询 2 内连 ...
- SQL必知必会 - 创建表的联结
目录 一.不同类型的联结 1 外联结 2 内联结 二.用union联结 三.用where创建联结 1 用where简单联结 2 用where and的结合 四. 创建高级联结(用AS设置表别名) in ...
- 《SQL必知必会》第十三课 创建高级联结表 使用不同类型的联结 使用带聚集函数的联结 使用联结时应注意的问题
第十三课 创建高级联结表 #使用表别名的原因 #不同的联结类型以及每类联结所使用的语法 #如何与联结一起使用聚集函数 #使用联结时的注意问题 一.使用表别名 [1]前面(第七课)介绍使用别名引用被检索 ...
- 数据库9:联结表 高级联结 组合查询 全文本搜索
第十五章联结表 Sql最强大的功能之一就是能在数据检索查询的执行中联结(join)表.联结是利用sql的select能执行的最重要的操作,能很好的理解联结及其语法是学习sql的一个极为重要的组成部分. ...
- SQL和PL/SQL的性能优化之四---联结与子查询
1.联结类型 A.相等联结(equi-join) B.非相等联结(theta) C.交叉联结(cross join)--笛卡尔联结 D.外联结(outer joiin)--左.右.全联结 E.自联结( ...
- MySQL(七)联结表
一.联结表基础知识 1.关系表 把信息分解成多个表,一类数据一个表,各表通过某些常用值(即关系设计中的关系(relational))互相关联: 2.外键(foreign key):外键为某个表中的一列 ...
最新文章
- 让你成为有钱人的25种方法!
- python-23 xml.etree.ElementTree模块
- jsp 中包含 一个路径为变量的文件
- Sublime text3装入插件Anaconda
- 了解png 格式,绝对是让你PPT设计感瞬间爆棚的大杀器
- Kotlin 基本数据类型(五)
- Thinkphp5之ajax分页实现_paginate()参数详细
- 使用管道和rm命令遇到的问题
- servlet和springMVC框架
- c51单片机学习笔记-LED闪烁编程
- 软件(敏捷)开发中工作量与工时评估模型
- 时域采样定理MATLAB实现
- 安全基础--21--安全运维
- 云真机兼容性测试方案
- Win11、10下安装enspHCL,解决兼容问题
- 队列 front rear
- 哈工大计算机学院崔启航,2014-2015年度哈尔滨工业大学学生先进集体及先进个人评选结果公示...
- GAN“家族”又添新成员——EditGAN,不但能自己修图,还修得比你我都好
- ffmepg H264 NALU分析
- 一个35岁技术经理的忠告:在职场多点雷霆手段,少点菩萨心肠!
热门文章
- FontFamily 看这里就够了
- 线性代数笔记20——行列式和代数余子式
- 不断发展的 JAX:加速 AI 研究的利器
- 自然对数e的来源以及证明
- 电影《我的遗憾和你有关》
- linux wcout 输出中文,解决为什么wcout不能输出中文问题
- RadioButton多行显示
- matlab中怎么判断一个pushbutton按钮是否按下,matlab的GUI 想问下 每个控件例如pushbutton的函数要怎么编写,函数与普通的m文件一样吗?...
- [hiho 18]带修改的RMQ问题
- 破坏入侵计算机信息系统犯罪,计算机信息系统破坏罪与计算机非法入侵罪区别...