MERGE 语句:Oracle 支持 MERGE INTO ... USING ... ON ... 语法,非常得当多表更新和条件更新。对于必要从其他表提取数据来更新主表的情况,这种方法非常有效。
UPDATE + 子查询:可以在 SET 子句中使用子查询来获取每一行的更新值,但这种方法在性能上大概不如 MERGE 高效,特别是对于大数据量的更新。
示例:
sql复制代码MERGE INTO target_table t1 USING (SELECT ... FROM source_table) t2 ON (t1.id = t2.id) WHEN MATCHED THEN UPDATE SET t1.col1 = t2.col2; 2. MySQL