应用场景:
有两个不同系统的导出的用户表user1和user2,其中user1表的id字段和user2表id字段是一致的,两个表的人名字段包含不同项,现需要把不同项查出并用这些数据更新user1表中数据。
对比两个表,找出不同项目
注意!!!!
注意!!!!
注意!!!!
需要先对两个表的id值建立索引,否则查询奇慢无比(已采坑)
CREATE INDEX index_eenum On user1(id);
CREATE INDEX index_eenum On user2(id);
再采用JOIN语句进行联结查询即可
SELECT
*
FROM
user1 as u1
JOIN
user2 as u2
ON u1.id=u2.id AND u1.name !=u2.name
下面以查询结果更新user1表中信息
UPDATE
user1 AS u1
JOIN
user2 AS u2
ON u1.id = u2.id AND u1.name!=u2.name
set u1.name=u2.name where u1.id=u2.id
参考:
1. https://www.cnblogs.com/whowhere/p/5666814.html
2. 《MySQL数据库应用从入目你到精通》