MySQL比较两张表数据相同、不同结果记录
两张表:水果设备表sb_fruit、系统设备表xt_fruit,比较两张表中相同、不同的数据结果。
自己开始尝试写的方法:
(1)设备与系统共有数据:
select sb.id,sb.name_idnumber,xt.id,xt.name_idnumber
from sb_fruit sb,xt_fruit xt
where sb.name_idnumber = xt.name_idnumber;
(2)设备多出数据:
select sb.id,sb.name_idnumber
from sb_fruit sb
where sb.id not in
(
select sb.id
from sb_fruit sb,xt_fruit xt
where sb.name_idnumber = xt.name_idnumber
);
(3)系统多出数据:
select xt.id,xt.name_idnumber
from xt_fruit xt
where xt.id not in
(
select xt.id
from sb_fruit sb,xt_fruit xt
where sb.name_idnumber = xt.name_idnumber
);
【
后学到另一种方法,比较两张表数据的不匹配记录、匹配记录。
参考网址:【MySQL比较两个表不同的数据 - MySQL教程 https://www.yiibai.com/mysql/compare-two-tables-to-find-unmatched-records-mysql.html】
步骤:
(1)首先,使用UNION语句来组合两个表中的行; 仅包需要比较的列。返回的结果集用于比较。
(2)第二步,根据需要比较的主键和列分组记录。如果需要比较的列中的值相同,则COUNT(*)返回2,否则COUNT(*)返回1。
两张表中各自不同的数据:
(1)此为二者多出结果的混合数据:
select id,name_idnumber
from
(
select CONCAT('sb_',sb.id) id,sb.name_idnumber
from sb_fruit sb
UNION ALL
select CONCAT('xt_',xt.id) id,xt.name_idnumber
from xt_fruit xt
) t
GROUP BY name_idnumber
HAVING count(*) = 1; (2)此为单看设备多出结果:
select id,name_idnumber
from
(
select CONCAT('sb_',sb.id) id,sb.name_idnumber
from sb_fruit sb
UNION ALL
select CONCAT('xt_',xt.id) id,xt.name_idnumber
from xt_fruit xt
) t
GROUP BY name_idnumber
HAVING count(*) = 1
and id like '%sb_%'; (3)此为单看系统多出结果:
select id,name_idnumber
from
(
select CONCAT('sb_',sb.id) id,sb.name_idnumber
from sb_fruit sb
UNION ALL
select CONCAT('xt_',xt.id) id,xt.name_idnumber
from xt_fruit xt
) t
GROUP BY name_idnumber
HAVING count(*) = 1
and id like '%xt_%';
查看两张表的相同数据:
select name_idnumber
from
(
select sb.name_idnumber
from sb_fruit sb
UNION ALL
select xt.name_idnumber
from xt_fruit xt
) t
GROUP BY name_idnumber
HAVING count(*) = 2;
】
MySQL比较两张表数据相同、不同结果记录相关推荐
- MySQL同步两张表数据
一.背景 项目中客户需要一个发布/编辑的功能,数据要存档. 我的方案设计是新建两张表,一张主表用于查询,一张临时表用于增删改. 增删改操作的表命名为XXX_temp,后台管理操作.后台操作完成后需要把 ...
- mysql比对两张表数据
如何对两个数据库中的表进行比较 server 和mysql可以这样: insert A表(要插入的字段列表) select 要插入的字段列表 库2.B表 --注意字段的对应.... oracle ex ...
- mysql比对表中数据是否相同_如何用sql比较两张表数据是否一致?
在批量程序的测试中,经常会涉及到对数据库表的测试,今天我们来介绍一下用sql比较两张表结构相同的表数据是否完全一致的方法. 1.inner join 浅尝 提到比对两张表的数据是否完全相同,很容易想到 ...
- oracle 两表两列数据对比_【SQL】根据两列信息,整合两张表数据
两张表数据如下: --2017年 id college score A001 北京大学 670 A002 中国人民大学 646 A003 清华大学 664 A003 清华大学 (定向) ...
- MySQL比较两个表数据差异,在t2表而不在t1表的数据
MySQL比较两个表数据差异,在t2表而不在t1表的数据 SELECT * FROM t2 WHERE id NOT IN (SELECT id FROM t1);
- select UNION ALL 合并两张表数据
select UNION ALL 合并两张表数据 SELECT id,uid FROM table1 t1 UNION ALL SELECT id,uid FROM table2 t2 查出来的结果 ...
- SqlServer+mysql查询两张表的相同和不同数据
sqlserver 在SQL SERVER 2000中只能用Exists来判断,到了SQL SERVER 2005以后可以采用EXCEPT和INTERSECT运算符比较两张表的数据. INTERSEC ...
- MySQL 两张表数据合并
有一个需求, 需要从数据库中导出两张表的数据到同一个excel中 鉴于是临时的业务需求, 直接使用Navicat 进行查询并导出数据. 数据涉及到三张表 CREATE TABLE `bigdata_q ...
- mysql查询两张表的同一列_如何快速查找两个数据表之间的相同和不同?
原标题:如何快速查找两个数据表之间的相同和不同? 知识 随笔 案例 声音 其他 编者按 工作中经常会遇到对来源不同的数据进行比对,查找相同.不同.差异性等.过于复杂的需求,我们通常会转换思路,使用数据 ...
最新文章
- 未授予用户在此计算机上的请求登陆类型处理办法
- C#和Java的闭包-Jon谈《The Beauty of Closures》
- MySQL的编译安装
- MongoDB学习笔记~为IMongoRepository接口添加分页取集合的方法
- Python爬虫入门教程 1-100 CentOS环境安装
- 高级数据结构与算法 | LRU缓存机制(Least Recently Used)
- intellij出现Initial job has not accepted any resources;
- java内存模型---学习笔记
- ​通俗理解神经网络BP反向传播算法
- leetcode 1600. 皇位继承顺序(dfs)
- 天正多条线段长度lisp下载_预习丨人教版六年级数学(上册)全册知识要点梳理,可下载...
- 打印机显示服务器连接错误怎么回事,打印机处于错误状态是怎么回事 打印机处于错误状态如何解决【图文详解】...
- 基于MATLAB的列车防护曲线组合步长算法分析与仿真验证
- 记一个用PyPDF2裁剪pdf文件并用latex插入后出现大量空白的问题
- 克里斯蒂安贝尔_克里斯蒂安贝尔解释为何只演3次蝙蝠侠
- c语言写一元一次函数图像,一次函数与一元一次不等式(洋葱数学)
- 【转】欧盟物联网研究战略路线图(3)
- VSCode通过源代码管理插件GitLens提交项目代码的过程
- 智能优化算法(源码)-食肉植物算法(Carnivorous Plant Algorithm ,CPA)
- DP-LeetCode714. 买卖股票的最佳时机含手续费