今天需要用到将另外一张表的内容更新到本表,一个是update 一个是insert 1、先说UPDATE 语法:
update 表1 别名1 set (别名1.字段1,别名2.字段2) =(select 别名2.字段1,别名2.字段2 from 表2 别名2 where 条件1) where 条件2 注意: 1、条件1:一定要有表1.ID=表2.ID,建立关系 2、表2中一定不能重复值,否则会报不能有空值错误,因为两个数据集不一样。 实例: update buyerattribute ba set ba.buyerattributeid = (select zz.buyerattributeid from zhejiangliantongbuyer_temp zz where ba.buyerid = zz.buyerid) where ba.buyerattributeid != '4' and ba.buyerid in(select buyerid from zhejiangliantongbuyer_temp);
如果表1和表2的字段完全匹配那么则可以直接使用
update 表1 别名1 set (别名.*)=(select 别名2.* from 表2 where 条件) where 条件
2、Insert 语法:
Insert into 表1 (字段1,字段2,字段N) select 字段1,字段2,字段N from 表2
insert into test2 (ID,Testname,Createtime,Falg) SELECT 10,TESTNAME,CREATcoETIME,FALG FROM TEST1