【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

结果:

总结

  今天课比较多,所以现在才更新呀,今天上课的时候我们老师还分了一个云南特产的云腿月饼,第一次碰到,还没吃呢,感觉应该会有惊喜,之前吃过云南的鲜花饼,妈呀,超级好吃,好想去云南!
  今天先更新一个章节的内容,都是一个类型的题目,方便大家参考!
  不懂的问题要及时搞明白,不能得过且过啦!!大家一起加油!
  感谢您宝贵的阅读,关注和点赞噢!❤

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祖国滴花骨朵儿

感谢之情无以言表,会用行动证明

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值