Що робить команда MERGE?
Команда MERGE у SQL використовується для об'єднання даних із двох таблиць - вона дозволяє одночасно вставляти нові записи, оновлювати наявні й за потреби видаляти дублікати. Часто її називають "UPSERT" (update + insert).
Синтаксис (узагальнено):
sql
MERGE INTO Цільова_Таблиця AS Ц
USING Джерело AS Д
ON Ц.Ключ = Д.Ключ
WHEN MATCHED THEN
UPDATE SET Ц.Поле1 = Д.Поле1, Ц.Поле2 = Д.Поле2
WHEN NOT MATCHED THEN
INSERT (Поле1, Поле2) VALUES (Д.Поле1, Д.Поле2);Приклад:
sql
MERGE INTO Співробітники AS С
USING НовіСпівробітники AS Н
ON С.ID = Н.ID
WHEN MATCHED THEN
UPDATE SET С.Ім'я = Н.Ім'я, С.ВідділID = Н.ВідділID
WHEN NOT MATCHED THEN
INSERT (ID, Ім'я, ВідділID) VALUES (Н.ID, Н.Ім'я, Н.ВідділID);Що робить
- Якщо запис з таким
IDуже є в таблиціСпівробітники→ оновлює дані (UPDATE). - Якщо запису немає → додає новий (
INSERT).
Навіщо використовується:
- Зручно синхронізувати таблиці, імпортувати нові дані й одночасно оновлювати старі.
- Дозволяє уникати окремого коду для перевірки існування запису перед вставкою чи оновленням.
Простіше кажучи,
MERGE- це команда для "оновити чи додати" запис у таблицю залежно від того, існує він чи ні.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.