# 阿里云天池龙珠计划 SQL 训练营 - Task04 学习笔记

发布时间:2026/6/12 1:26:41
# 阿里云天池龙珠计划 SQL 训练营 - Task04 学习笔记 # 阿里云天池龙珠计划 SQL 训练营 - Task04 学习笔记 学习日期2026年6月11日 ‍ 学习人[ivan19840308] 训练营链接[阿里云天池龙珠计划SQL训练营](https://tianchi.aliyun.com/specials/promotion/aicampsql)## 4.1、表的加减法4.1.1. **集合运算**- 集合在数学领域表示各种各样的事务的总和。- 在数据库领域一张表一个视图或者一个查询的结构都是集合里面的元素为查询结果中的每一行。- 集合有交集运算、并集运算、差集运算和对称差集见下表。集合运算通俗解释对应 SQL 语法示例A{1,2,3}B{3,4,5}并集合在一起去重UNIONA UNION B → {1,2,3,4,5}交集只留公共部分INTERSECTA INTERSECT B → {3}差集只留 A 独有的EXCEPTA EXCEPT B → {1,2}对称差集只留各自独有的(A EXCEPT B) UNION (B EXCEPT A){1,2,4,5}4.1.. **表的并集 UNION**表的加法一般指两张表相加也就是我们说的并集。加关键字“UNION”就是执行两张表相加这个英文单词就是“联合”的意思。所以后面我们想让表相加就想到“联合”这个英文单词就可以了这样就不会忘记了我们有如下两张表productproduct两张表格式相同我们执行表的加法语句如下SELECT product_id, product_name FROM product UNION SELECT product_id, product_name FROM product1;结果如下从表格内容我们知道的商品两个表格里面都有用了语句后生成的表格会去重。那么有的读者脑洞大开有没有不去重的呀就好比A123B234A UNION B123234答案是肯定的有这种结果。而且这种不去重的方式有很大的实际意义。比如超市的购物记录A买了2个苹果、1个香蕉B买了1个香蕉、1个橙子。这个并集就不能去重。这才能准确的体现每一件商品的购买次数。比如服务器操作日志。的操作日志登录, 查询, 登录的操作日志查询, 退出。这个并集就不能去重。这才能分析操作频率知道“登录发生了几次。总之在上面的场景中重复不是冗余是而是代表发生的次数频次。是否去重要根据实际情况选择你说了这么多小伙伴可能会问不去重怎么实现呀你倒是讲讲呀。谜底揭晓就是**UNION ALL**。加一个””就是所有的意思不去重就是所有的都包括。我们再来看下面的语句SELECT product_id, product_name FROM product UNION all 增加 SELECT product_id, product_name FROM product1;结果如下****-这个结果与上一个查询结果有什么不同聪明得小伙伴肯定一眼就能看出来我就不废话了。4.1.3. **表的交集 INTERSECT**-我们学习了表的并集这此我们学习表的”交集“我们之前并集是union或union all那么并集就是intersect语句结构跟并集也一样。我们看下面SELECT product_id, product_name FROM product intersect --交集的关键字 SELECT product_id, product_name FROM product1;-结果如下-有一点需要注意select语句我选择的ID和name也就是“idname”是唯一的如果选择其他字段结果会不一样有兴趣的小伙伴可以敲代码试一试结果写在评论区。-我还是希望大家可以自己敲代码练习一下。-好的本节集合知识有点多我先讲解并集和交集剩下的课程后面会出。-还是希望小伙伴能多敲代码多练习。-我这边出一道练习题有兴趣的小伙伴可以练练把答案写在评论区。1**商店决定对product表中利润低于50%和售价低于1000的商品提价, 请使用今天学到的知识写出代码**。2**查询同时出现在两张表里的产品编号**3**查询同时出现在两张表里的产品编号 产品名称**评论区期待您的答案哦