Menggabungkan atau merge data di SQL adalah keterampilan penting bagi siapa saja yang bekerja dengan basis data. Baik Anda seorang analis data, pengembang backend, atau sekadar pengguna Excel yang ingin naik level, memahami cara merge data akan membantu Anda mengelola informasi dengan lebih efisien. Artikel ini akan membahas secara lengkap dan mudah dipahami bagaimana cara melakukan merge data di SQL.
Apa Itu Merge Data di SQL?

Dalam bahasa manusia, merge di SQL itu artinya nggabungin data dari dua atau lebih tabeljadi satu, biar hasilnya bisa dilihat dalam satu tampilan yang utuh dan nyambung.Tujuan dari merge ini bisa bermacam-macam, mulai dari memperkaya data dengan informasi tambahan, menyatukan dataset dari sumber berbeda, hingga melakukan pembaruan data secara otomatis.
SQL menyediakan beberapa cara untuk melakukan merge, tergantung pada kebutuhan dan struktur data yang Anda miliki. Teknik paling umum yang digunakan antara lain:
- JOIN (INNER, LEFT, RIGHT, FULL)
- UNION dan UNION ALL
- MERGE statement (khusus di SQL Server dan beberapa sistem basis data lain)
Jika kamu ingin meningkatkan skill analisis data dan membuka peluang karier yang lebih luas di dunia data, mengikuti sertifikasi Data Analyst bisa jadi langkah tepat. Sertifikasi ini membuktikan kemampuanmu dalam mengolah, menganalisis, dan memvisualisasikan data secara profesional.
Mari kita bahas satu per satu dengan contoh dan penjelasan yang sederhana.
1. Menggunakan JOIN untuk Menggabungkan Data
JOIN adalah metode paling umum dan fleksibel untuk menggabungkan data di SQL. Dengan JOIN, kita bisa menggabungkan dua tabel berdasarkan kolom yang memiliki relasi atau kesamaan.
a. INNER JOIN
INNER JOIN itu cuma ngambil data yang cocok di kedua tabel. Contohnya:
SELECT a.nama, b.departemen
FROM karyawan a
INNER JOIN departemen b
ON a.id_departemen = b.id;
Query ini cuma nunjukin karyawan yang departemennya cocok atau ada di daftar tabel departemen.
b. LEFT JOIN
LEFT JOIN itu maksudnya ngambil semua data dari tabel kiri, terus dicari kecocokannya di tabel kanan. Kalau nggak nemu yang cocok, data dari kanan dikosongin.
Kalau nggak ketemu yang cocok di kanan, kolomnya dikasih nilai kosong (NULL).
SELECT a.nama, b.departemen
FROM karyawan a
LEFT JOIN departemen b
ON a.id_departemen = b.id;
Cocok untuk kasus ketika Anda ingin melihat semua karyawan, termasuk yang belum punya departemen.
c. RIGHT JOIN dan FULL JOIN
RIGHT JOIN ngambil semua data dari tabel kanan, FULL JOIN ngambil semua data dari dua tabel, baik yang cocok maupun nggak.
Namun perlu dicatat, tidak semua sistem database mendukung FULL JOIN. Jika Anda menggunakan MySQL, FULL JOIN perlu disimulasikan dengan UNION dari LEFT JOIN dan RIGHT JOIN.
2. UNION dan UNION ALL
Berbeda dari JOIN, UNION digunakan untuk menggabungkan baris dari dua query yang memiliki struktur kolom yang sama. Artinya, UNION itu bukan nyatuin kolom, tapi numpuk hasil query satu di bawah yang lain, kayak nambah baris.
a. UNION
UNION akan menghapus baris duplikat:
SELECT nama FROM pelanggan_2023
UNION
SELECT nama FROM pelanggan_2024;
b. UNION ALL
UNION ALL itu nggak buang data yang dobel, jadi prosesnya lebih cepet dijalankan.
SELECT nama FROM pelanggan_2023
UNION ALL
SELECT nama FROM pelanggan_2024;
Gunakan UNION ALL jika Anda yakin tidak masalah ada data yang sama muncul lebih dari satu kali.
3. MERGE Statement (Upsert)
MERGE itu fitur lanjutan yang biasanya ada di SQL Server, Oracle, dan PostgreSQL (walau cara pakainya beda-beda). MERGE sering dipakai buat upsert, yaitu ngecek dulu datanya udah ada atau belum—kalau ada, di-update; kalau belum, ditambahin atau insert jika data belum ada.
Contoh MERGE:
MERGE INTO target t
USING sumber s
ON t.id = s.id
WHEN MATCHED THEN
UPDATE SET t.nama = s.nama
WHEN NOT MATCHED THEN
INSERT (id, nama) VALUES (s.id, s.nama);
Dengan MERGE, Anda tidak perlu menulis query INSERT dan UPDATE secara terpisah. Sangat berguna untuk sinkronisasi data.
Kapan Harus Menggunakan Metode yang Mana?
- Gunakan JOIN saat Anda ingin menggabungkan kolom dari dua tabel yang saling berhubungan.
- Gunakan UNION ketika Anda ingin menggabungkan hasil dari dua query yang sejenis.
- Pakai MERGE kalau kamu perlu ngupdate atau nambah data sekaligus, tergantung kondisi yang udah ditentukan.
Kesimpulan
Memahami cara merge data di SQL akan sangat membantu Anda dalam memanipulasi dan menganalisis data dengan lebih efektif. Mulailah dengan menguasai JOIN, lalu pahami perbedaan antara UNION dan UNION ALL, dan eksplorasi fitur MERGE jika Anda menggunakan sistem basis data yang mendukungnya.
Semakin sering nyoba dan latihan, kamu bakal makin jago ngolah data pakai SQL. Selamat belajar!
Leave a Comment