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
-
Memilih Kolom:
- Kita mulai dengan
SELECT ColumnA FROM Table1
untuk mengambil semua entri dariColumnA
diTable1
. - Bagian berikutnya,
SELECT ColumnA FROM Table2
, melakukan hal yang sama untukTable2
.
- Kita mulai dengan
-
Menggabungkan Hasil:
- Operator
UNION
menggabungkan hasil set dari kedua pernyataanSELECT
. - Perlu dicatat bahwa secara default,
UNION
menghapus nilai duplikat, sehingga jika ada nilai yang tumpang tindih dalamColumnA
antara kedua tabel, mereka hanya akan muncul sekali dalam output akhir.
- Operator
-
Mengurutkan Hasil:
- Klausa
ORDER BY 1
mengurutkan output akhir berdasarkan kolom pertama, yang dalam kasus ini adalahColumnA
.
- Klausa
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!