与JOIN语句相比,SQL中的MERGE语句的目的是什么?

时间:2018-03-13 21:52:22

标签: sql-server join merge

寻找澄清:MERGE语句是否与将数据导入SQL Server有关,而JOIN语句与SQL Server中已存在的更多关联数据有关?听起来像是相同的功能,但想知道每个功能的用途。

1 个答案:

答案 0 :(得分:1)

是的,但我会进一步解释。

MERGE(曾经被称为UPSERT)是一种比较两个数据集的方法,比如Source和Target。如果行在Source中但不在Target中,则它将INSERT该行。如果Source和Target中都有一行,但某些非键值不同,则会更新Target中的行。合并通常用于加载数据仓库。

JOIN是一种基于密钥对将两个表关联在一起的方法。例如

SELECT s.Name as SchoolName, st.Name as StudentName
FROM School s
   JOIN Student st ON s.id = st.SchoolID