一、Merge的使用场景介绍
Merge语句是SQL语句的一种,用来合并UPDATA 语句和INSERT语句,通过一张表(原数据表)或子查询的连接条件对另外一张(目标表)进行查询,连接条件匹配上的进行UPDATA,无法匹配的进行INSERT。这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATA。
二、语法格式及说明
Merge语法格式
MERGE INTO [schema ] table [t_alias]
USING [schema ]{ table|subquery } [t_alias]
ON ( condition )
WHEN MATCHED THEN merge_update_clause
WHEN NOT MATCHED THEN merge_insert_clause;
解释说明
第一行 命名目标表并给别名
第二行 using子句提供merge操作的数据源,别名
第三行 on子句指定合并的条件
第四行 when matched then 子句判定条件符合则对表T1做什么改变(或删除)
第五行 when not matched then 子句判断条件不符合则插入的操作