暂无图片
MySQL 怎么比较两个不同表内某个元素的大小?
我来答
分享
暂无图片 匿名用户
MySQL 怎么比较两个不同表内某个元素的大小?

MySQL 怎么比较两个不同表内某个元素的大小?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
shunwahⓂ️

如果有时候需要使用 mysql 数据库,比较两个表中的元素是否全部相同,可以执行

找出A表中不存在于B表中的数据

方法一:利用not exists

select 字段 from 表A a where not exists(

select 1 from 表B b

where a.字段1 = b.字段1 and a.字段2 = b.字段2…

)

方法2:利用union all

select 字段 from

(select 字段 from 表A

union all

select 字段 from 表B

)group by 字段

having count(*)=1;

因为相同的数据分组之后count(*)是肯定大于1的

比较上述这两种方法:如果比较字段过多方法一种where条件书写相对复杂,但是方法一可以select出全部的字段,方法2中只能select出group by中的字段。

效率方面应该是方法一更加贴合实际应用,因为只需要对比主键

但我们只是需要临时比对一下两个表数据是否存在不相同时,或者主键是否存在不相同的,或者相同的(count(*)>1)我们就可以使用方法二更加的方便。

暂无图片 评论
暂无图片 有用 0
严少安
2022-10-25
👍‍
愤怒的蜗牛
2022-10-25
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏