🎈写在前文
- 💖 作者简介:大家好,我是小王🙋♂️
- 📝 个人主页:你隔壁的小王🔥
- 🎉 欢迎点赞👍+收藏⭐️+留言📝
- 📣专栏:SQL🙋♂️
🙋♂️ 小伙伴们如果在学习过程中有不明白的地方,欢迎评论区留言提问!希望能和大家一起进步,共同成长!
表的加减法
什么是集合运算- 集合在数学领域表示“(各种各样的)事物的总和”,在数据库领域表示记录的集合。
表的加法—— UNION
- 表1
- 表2
- > 可以看到表1的004、5、7、8在表2中是不存在的,同时在表2中的9、10在表1中也是不存在的> >
> SELECT product_id, product_name> FROM Product> UNION> SELECT product_id, product_name> FROM Product2;>
> > > > 可以看到union是求出了并集,并且自动去重了,集合运算符会除去重复的记录。> > > > 如果我们想要保留重复行只需要在集合运算符后加上ALL即可> > > > 可以看到此时重复行都已经保存下来了 集合运算的注意事项- 作为运算对象的记录的列数必须相同- 作为运算对象的记录中列的类型必须一致- 可以使用任何 SELECT 语句,但 ORDER BY 子句只能在最后使用一次
选取表中公共部分—— INTERSECT> > - 选取两个记录集合中公共部分的 INTERSECT (交集)> -
SELECT product_id, product_nameFROM ProductINTERSECTSELECT product_id, product_nameFROM Product2ORDER BY product_id;
可以看到INSTERSECT是求两个记录的交集(PS:MYSQL中无法使用INSTERSECT)
记录的减法—— EXCEPT
- 减法运算的 EXCEPT (差集)(PS:只有Oracle不使用 EXCEPT ,而 是使用其特有的 MINUS 运算符。使用Oracle的用户,请用 MINUS 代替 EXCEPT 。此外,MySQL还不支持 EXCEPT ,因此也无法使用。)
SELECT product_id, product_nameFROM ProductEXCEPTSELECT product_id, product_nameFROM Product2ORDER BY product_id;
本文转载自: https://blog.csdn.net/weixin_43212535/article/details/122912226
版权归原作者 你隔壁的小王 所有, 如有侵权,请联系我们删除。
版权归原作者 你隔壁的小王 所有, 如有侵权,请联系我们删除。