SQL Server 2008에서는 “Merge” 라는 새로운 T-SQL Statement 추가되었습니다.
“Merge”
이용하면 Source 테이블과 Target 테이블을 동기화 하는 등의 시나리오에 있어서 기존의 INSERT/UPDATE/DELETE 각각 수행하는 3-Step T-SQL보다 200% 이상의 뛰어난 성능을 제공합니다.

그럼 Merge 구문을 어떻게 사용하느냐? 아래의 간단한 예제만 봐도 쉽게 사용할 있습니다.
우선 테스트를 위해 Source Target이라는 2개의 테이블을 생성합니다.

     CREATE TABLE Source (id INT, name NVARCHAR(100), qty INT);
     CREATE TABLE Target (id INT, name NVARCHAR(100), qty INT);

그리고 Merge 사용하여 Target 테이블을 Source 테이블과 동기화 시킬 있습니다.
(
주석을 참조하시면 각각의 경우에 맞게 Action 취할 있다는 것을 확인할 있습니다)

MERGE Target AS t
    USING Source AS s
    ON t.id = s.id
    WHEN MATCHED AND
       (t.name != s.name OR t.qty!= s.qty) THEN
        -- 동일한 Row가 존재하고 데이터가 다르면
        UPDATE SET t.name = s.name, t.qty = s.qty
    WHEN NOT MATCHED BY TARGET THEN 
        -- 소스에는 Row가 존재하는데 Target에는 Row가 존재하지 않으면
        INSERT VALUES (s.id, s.name, s.qty)
    WHEN NOT MATCHED BY SOURCE THEN 
        -- Target에는 데이터가 존재하는데 Soruce에는 데이터가 없으면
        DELETE
    OUTPUT $action, inserted.id, deleted.id;