一,共同点
1.都可以做更新操作
二、不同点
1.merge可以同时做插入(not matched的时候)
2.merge不会强制要求不被更新的表具有唯一或者主键约束
例如merge a using b on (...), 这里不会要求b具有唯一约束或者主键约束。当然肯定还是要求b只能返回一条记录。
很多update语句调整为等效语句的时候会遇到这种强制约束的问题,但merge不存在。
3.在某些情况下,merge效率更高。
这是因为写法导致的,并不是说merge本身比update高效。例如很多对于sql不是很精通的人员可能会这样写一个