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;
然后查询结果: