Task04:集合运算-表的加减法和join等(笔记4)

这篇笔记详细介绍了SQL中的集合运算,包括UNION、INTERSECT(MySQL不支持)、EXCEPT(MySQL不支持)以及交集、并集、差集的概念。还探讨了各种类型的连结操作,如内连结、外连结(左、右、全)、自连结、自然连结,以及非等值连结和交叉连结。此外,文中还提到了使用GROUP BY和JOIN的组合来处理复杂查询,并提供了练习题来巩固所学知识。
摘要由CSDN通过智能技术生成

本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql

1、集合运算

集合定义:记录的集合,如表、视图、查询的执行结果

元素:表或者查询结果中的每一行

集合运算符:union,intersect,except---将检索结果进行并、交和差运算

2、表的加法—unIon(并集)

UNION 等集合运算符通常都会除去重复的记录

具体用法:sql语句 union sql语句

union 与or谓词区别:union能将两个不同的表中的结果合并在一起

保留重复行的集合运算union all

 UNION 会对两个查询的结果集进行合并和去重

去重-----去掉两个结果集相互重复的  和   去掉一个结果集中的重复行

bag模型与set模型:类似的一种数学结构,不一样的地方:bag里面允许存在重复元素,

bag并运算规则:

1.该元素是否至少在一个 bag 里出现过,

2.该元素在两个 bag 中的最大出现次数

bag 的交运算规则:

 1.该元素是否同时属于两个 bag,

2.该元素在两个 bag 中的最小出现次数

隐式类型转换(类型不完全相同时)

注意:mysql8.0不支持交运算intersect

intersect的运算语法:sql语句 intersect sql语句

3、差集、补集与表的减法

注意:mysql8.0还不支持except运算

except与not 谓词:

使用 NOT IN 谓词, 基本上可以实现和SQL标准语法中的EXCEPT运算相同的效果

except all 与bag 的差

类似于UNION ALL, EXCEPT ALL 也是按出现次数进行减法, 也是使用bag模型进行运算.

对于两个 bag, 他们的差运算会按照:

1.该元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值