一、使用背景
当需要对一个表**根据不同条件分别进行INSERT、UPDATE以及DELETE操作时**,可以使用MERGE(融合,合并)语句。MERGE语句可以根据不同条件获取要插入、更新或删除到表中的数据行,然后从1个或多个数据源头对表进行更新或者向表中插入行。
二、MERGE语句的语法
MERGE INTO 表名
USING 表名/视图/子查询 ON 连接条件
-- 当匹配得上连接条件时
WHEN MATCHED THEN
更新、删除操作
-- 当匹配不上连接条件时
WHEN NOT MATCHED THEN
更新、删除、插入操作
补充说明
USING:简化的连接查询
使用条件:
1、查询条件必须是等值连接
2、等值连接列必须有相同的名称和数据类型
3、on后面的连接语句,在更新时不可更新