mysql中数据集except_数据库并集union、交集intersect、差集except

所操作的结果集有如下限制条件:

(1)所有查询中的列数和列的顺序必须相同。

(2)比较的两个查询结果集中的列数据类型可以不同但必须兼容。

(3)比较的两个查询结果集中不能包含不可比较的数据类型(xml、text、ntext、image 或非二进制 CLR 用户定义类型)的列。

(4)返回的结果集的列名与操作数左侧的查询返回的列名相同。ORDER BY 子句中的列名或别名必须引用左侧查询返回的列名。

(5)不能与 COMPUTE 和 COMPUTE BY 子句一起使用。

(6)通过比较行来确定非重复值时,两个NULL值被视为相等。(EXCEPT 或 INTERSECT 返回的结果集中的任何列的为空性与操作数左侧的查询返回的对应列的为空性相同)

使用下面两个表进行操作

0748d6e0c25a6458a2bec6966394e03a.png

75b0aa0c03081e605849411613e7923c.png

一、并集(UNION)

--返回两个结果集的并集

(select name from Table_3)union(select stuname from Table_4)

--返回两个结果集的并集

(select name from Table_3)union(select stuname from Table_4)

0ed63d6ab52a257186e95deaafb7ca5f.png

二、交集(INTERSECT)

--返回两个结果集的交集(返回相同记录)

(select name from Table_3)intersect(select stuname from Table_4)

--返回两个结果集的交集(返回相同记录)

(select name from Table_3)intersect(select stuname from Table_4)

8fa14f1e81e714f07b5efb42b47710f6.png

三、差集(EXCEPT)

--返回两个结果集的差集(从前一个表中剔除两个表中相同的记录)

(select name from Table_3)except(select stuname from Table_4)

--返回两个结果集的差集(从前一个表中剔除两个表中相同的记录)

(select name from Table_3)except(select stuname from Table_4)

70db12797e9de80fda3d969542ae236a.png

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL可以使用UNIONINTERSECTEXCEPT(或称为MINUS)来进行并集交集差集的操作。 - 并集UNION):使用UNION操作符可以将两个或多个SELECT语句的结果合并成一个结果集。要求每个SELECT语句选择的列的数量和数据类型必须一致。例如: ``` SELECT column1, column2, column3 FROM table1 UNION SELECT column1, column2, column3 FROM table2; ``` 这将返回table1和table2所有行的并集。 - 交集INTERSECT):MySQL不直接支持INTERSECT操作符,但可以使用INNER JOIN来实现交集操作。例如: ``` SELECT column1, column2, column3 FROM table1 INNER JOIN table2 ON table1.column1 = table2.column1; ``` 这将返回table1和table2共有的行。 - 差集EXCEPT):MySQL也不直接支持EXCEPT操作符,但可以使用LEFT JOIN和WHERE子句来实现差集操作。例如: ``` SELECT column1, column2, column3 FROM table1 LEFT JOIN table2 ON table1.column1 = table2.column1 WHERE table2.column1 IS NULL; ``` 这将返回在table1存在但在table2不存在的行。 请注意,以上示例的表名、列名和条件应根据实际情况进行替换。 #### 引用[.reference_title] - *1* [MySQL 查询 并集交集差集](https://blog.csdn.net/AI_SupplyChain/article/details/111567920)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [mysql 交集,并集(union),差集](https://blog.csdn.net/qq_39496303/article/details/121314313)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值