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