คำสั่ง MERGE เป็นคำสั่งที่มีอยู่ในมาตรฐาน ANSI มาตั้งแต่ปี 2003 และเพิ่มเติมส่วนขยายอีกครั้งในมาตรฐาน ANSI ปี 2008 สำหรับ Microsoft SQL Server นั้นมีใช้มาตั้งแต่ Microsoft SQL Server 2008
คำสั่ง MERGE เสมือนนำเอาคำสั่ง INSERT, UPDATE และ DELETE มารวมไว้ด้วยกัน โดยประกาศผ่านคำสั่ง MERGE เพียงคำสั่งเดียว ซึ่งมีประโยชน์มากในการทำ ETL ข้อมูล (Extract, Transform และ Load) แบบ Incremental Update จากแหล่งข้อมูลต้นทางไปยังปลายทาง
โครงสร้างคำสั่ง MERGE
MERGE INTO — ระบุตารางปลายทาง
USING — ระบุนิพจน์ตารางที่ทำหน้าที่เป็นตารางต้นทาง
ON — เงื่อนไขในการระบุแถวข้อมูลของทั้งตารางต้นทางและตารางปลายทาง
WHEN MATCHED — มีแถวข้อมูลทั้งในตารางต้นทางและตารางปลายทาง → UPDATE
WHEN NOT MATCHED — มีแถวข้อมูลในตารางต้นทาง แต่ไม่มีในตารางปลายทาง → INSERT
WHEN NOT MATCHED BY SOURCE — มีแถวข้อมูลในตารางปลายทาง แต่ไม่มีในตารางต้นทาง → DELETE
คำสั่ง MERGE ช่วยให้การทำ Incremental Update จากแหล่งข้อมูลต้นทางไปยังปลายทางสะดวกยิ่งขึ้น โดยไม่ต้องเขียนคำสั่ง INSERT, UPDATE, DELETE แยกกัน

