Sobes.tech
Back to questions
Junior — Middle
70

Объясните принцип работы операции MERGE в SQL и в каких сценариях её используют?

Answer from AI

sobes.tech AI

Операция MERGE в SQL используется для объединения данных из одной таблицы (источника) в другую (цель) с возможностью вставки новых записей, обновления существующих или удаления.

Принцип работы:

  • Сопоставляет строки из источника и цели по заданному условию (например, по ключу).
  • Если совпадение найдено, выполняет обновление или удаление.
  • Если совпадения нет, вставляет новую строку.

Это удобно для реализации сценариев "upsert" (update + insert), когда нужно синхронизировать данные.

Пример:

MERGE INTO target_table AS t
USING source_table AS s
ON t.id = s.id
WHEN MATCHED THEN
    UPDATE SET t.value = s.value
WHEN NOT MATCHED THEN
    INSERT (id, value) VALUES (s.id, s.value);

Сценарии использования:

  • Обновление данных из внешних источников.
  • Синхронизация таблиц.
  • Импорт данных с возможностью обновления существующих записей.