MySQL中对比两张表是否有不同数据

1.使用union all关联两张表,完事使用临时表或者说派生表的方式来进行数据对比。
SELECT t1.pk, t1.c1
FROM t1
UNION ALL
SELECT t2.pk, t2.c1
FROM t2

使用派生表的方式来对比数据
例如:

SELECT id,title
FROM (
    SELECT id, title FROM t1
    UNION ALL
    SELECT id,title FROM t2
) tbl
GROUP BY id, title
HAVING count(*) = 1
ORDER BY id;

今天在公司,领导让我把两个数据库中的5张表进行对比,找出不同的地方,记录出来

我的sql语句:

select * from
( select * from chengle_30.config_standard_quality_control_item
union all
select * from chengle_41.config_standard_quality_control_item
)tb1
GROUP BY id,defect_id,defect_name,defect_desc,type_id,is_done,update_time,is_loss_doc,is_invalid,implement_mod,status
HAVING count(*) = 1
ORDER BY id;
select * from
( select * from chengle_30.config_standard_return
union all
select * from chengle_41.config_standard_return
)tb1
GROUP BY id,return_code,return_value,is_done,standard_defect_no
HAVING count(*) = 1
ORDER BY id;
select * from
( select * from chengle_30.instrument_to_standard_control_item
union all
select * from chengle_41.instrument_to_standard_control_item
)tb1
GROUP BY id,standard_doc_path,doc_type,standard_doc_name,standard_defect_no
HAVING count(*) = 1
ORDER BY id;
select * from
( select * from chengle_30.standard_defect_classification
union all
select * from chengle_41.standard_defect_classification
)tb1
GROUP BY id,classification_name,sort,parent_id,is_parent
HAVING count(*) = 1
ORDER BY id;
select * from
( select * from chengle_30.standard_not_real_doc
union all
select * from chengle_41.standard_not_real_doc
)tb1
GROUP BY id,emr_type,standard_doc_name,option_time
HAVING count(*) = 1
ORDER BY id;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值