我认为,由于MERGE-INTO和USING语句定义了源表和目标表,默认情况下将使用源表中的值插入目标表,因此没有理由使用别名。
哪一个更好?为什么?有性能差异吗?。。。我想我需要学习查询优化器的工作原理)
MERGE INTO TargetSchema.TargetTable AS T
USING SourceSchema.SourceSchema As S
ON S.Id = T.Id
WHEN NOT MATCHED THEN
INSERT(
[Id]
,[Status]
,[Another Column]
)
VALUES(
[Id]
,[Status]
,[Another Column]
);
在值中显式使用表别名:
MERGE INTO TargetSchema.TargetTable AS T
USING SourceSchema.SourceSchema As S
ON S.Id = T.Id
WHEN NOT MATCHED THEN
INSERT(
[Id]
,[Status]
,[Another Column]
)
VALUES(
[S].[Id]
,[S].[Status]
,[S].[Another Column]
);