更新某一个字段写起来简单,也容易理解:
UPDATE tablea A SET A.name=(select name from tableb B where A.id=B.id)
更新多个字段就显得比较冗长:
UPDATE tablea A SET A.name=(select name from tableb B where A.id=B.id),A.age=(select age from tableb B where A.id=B.id)
如果需要更新的字段太多,这样写就太乱了,而且重复查询效率也大打折扣,可以改用这样的写法:
MERGE INTO tablea A USING tableb B ON ( A.id = B.id ) WHEN MATCHED THEN UPDATE SET A.name=B.name,A.age=B.age,A.title=B.title