Memilih dan Menggabungkan Kolom dari Dua Tabel SQL

Saat bekerja dengan basis data, sangat umum menghadapi situasi di mana Anda perlu mengambil data dari beberapa tabel. Salah satu skenario yang muncul adalah ketika Anda memiliki dua tabel dengan kolom yang sama. Dalam posting blog ini, kita akan mengeksplorasi cara memilih kolom spesifik, ColumnA, dari dua tabel berbeda—Table1 dan Table2—dan mengembalikannya sebagai satu set hasil.

Masalahnya

Misalkan Anda memiliki dua tabel dalam basis data Anda:

  • Table1 berisi kolom bernama ColumnA dengan nilai:

    • a
    • b
    • c
  • Table2 juga berisi kolom bernama ColumnA dengan nilai:

    • d
    • e
    • f

Tujuan Anda adalah untuk mengekstrak semua instance dari ColumnA dari kedua tabel ke dalam satu kolom dalam hasil. Ini berarti Anda ingin output ditampilkan sebagai:

a
b
c
d
e
f

Solusinya

Untuk mencapai ini, kita dapat menggunakan kueri SQL dengan operator UNION. Operator UNION memungkinkan kita untuk menggabungkan hasil dari dua atau lebih pernyataan SELECT ke dalam satu set hasil.

Contoh Kueri SQL

Berikut adalah kueri SQL yang menyelesaikan tugas ini:

SELECT ColumnA FROM Table1 
UNION 
SELECT ColumnA FROM Table2 
ORDER BY 1;

Menjabarkan Kueri

  1. Memilih Kolom:

    • Kita mulai dengan SELECT ColumnA FROM Table1 untuk mengambil semua entri dari ColumnA di Table1.
    • Bagian berikutnya, SELECT ColumnA FROM Table2, melakukan hal yang sama untuk Table2.
  2. Menggabungkan Hasil:

    • Operator UNION menggabungkan hasil set dari kedua pernyataan SELECT.
    • Perlu dicatat bahwa secara default, UNION menghapus nilai duplikat, sehingga jika ada nilai yang tumpang tindih dalam ColumnA antara kedua tabel, mereka hanya akan muncul sekali dalam output akhir.
  3. Mengurutkan Hasil:

    • Klausa ORDER BY 1 mengurutkan output akhir berdasarkan kolom pertama, yang dalam kasus ini adalah ColumnA.

Kapan Menggunakan UNION ALL

Jika Anda yakin bahwa nilai dalam ColumnA dari Table1 dan Table2** tidak **akan tumpang tindih**, pertimbangkan untuk menggunakan UNION ALL` sebagai gantinya. Opsi ini menghindari beban pemeriksaan untuk duplikat dan dapat meningkatkan kinerja:

SELECT ColumnA FROM Table1 
UNION ALL 
SELECT ColumnA FROM Table2 
ORDER BY 1;

Ringkasan

Kesimpulannya, penggabungan data dari beberapa tabel dalam SQL dapat ditangani dengan efisien menggunakan operator UNION. Praktek ini tidak hanya menyederhanakan pengambilan data tetapi juga membuat kueri basis data Anda lebih kuat dan fleksibel.

Sekarang Anda dapat dengan mudah mengekstrak dan menggabungkan kolom dari tabel yang berbeda, meningkatkan kemampuan Anda untuk mengelola dan menganalisis data Anda secara efektif!