Home » Homepage » Cara Merge Data di SQL

Cara Merge Data di SQL

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?

Cara 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!

More Reading

Post navigation

Leave a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *