首页 > 数据库技术 > 详细

【mysql练习】A,B两表结构完全一样,其中A中一些数据在B中不存在,用SQL将A表数据更新到B表中

时间:2019-05-08 21:16:43      阅读:276      评论:0      收藏:0      [点我收藏+]

1,创建符合条件的A,B表和数据

 

create table IF not EXISTS
A (id int auto_increment primary key);
create table IF not EXISTS
B (id int auto_increment primary key);

insert into A values();
insert into A values();
insert into A values();
insert into A values();
insert into A values();
insert into A values();
insert into A values();
insert into A values();
insert into A values();
insert into A values();
insert into A values();
insert into A values();
insert into A values();
insert into A values();

insert into B values();
insert into B values();
insert into B values();
insert into B values();

select * from A;
select * from B;

2,输出SQL

分析:因为A表比B表大,然后利用left join:left join 是“有左显示”原则:显示A表中存在的全部数据及A,B中都有的数据;A中有、B没有的数据以Null显示。

可以知道,left join,会比较A,B的数据,其中A中有,B中没有以null展示。那么利用这个规则,可以一条SQL写出更新语句:

insert into B select A.id from A left join B on A.id=B.id where B.id is null;

然后查询结果:

技术分享图片

 

【mysql练习】A,B两表结构完全一样,其中A中一些数据在B中不存在,用SQL将A表数据更新到B表中

原文:https://www.cnblogs.com/stanmao/p/10834568.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!