1,使用B表更新A表
--该sql尽量不要使用,推荐使用下面的sql
UPDATE 表A SET A.字段1 = (SELECT B.字段1 FROM B表 WHERE A.字段2 = B.字段2);
该sql会使用B表中的数据来更新A表,如果A表中存在B表中不存在的数据,那么此时这个数据会被更新为null。
避免这种情况出现,现修改sql为如下:
UPDATE 表A SET A.字段1 = (SELECT B.字段1 FROM B表 WHERE A.字段2 = B.字段2) WHERE EXISTS (SELECT 1 FROM B表 WHERE B.字段2 = A.字段2);
2,将B表的数据插入到A表中
INSERT INTO A表 (字段1,字段2,字段3,字段4,字段5) (SELECT 字段1,字段2,NULL,字段3,NULL FROM B表);
该sql会把B表中所有的数据全部插入到A表中,如果想要只插入A表中不存在的数据,可以使用下面的sql
INSERT INTO A表 (字段1,字段2,字段3,字段4,字段5) (SELECT 字段1,字段2,NULL,字段3,NULL FROM B表) WHERE NOT EXISTS (SELECT 1 FROM B表 WHERE B.字段2 = A.字段2);
上面两个sql,看情况使用。