Perbedaan antara UNION dan UNION ALL di SQL

UNION atau UNION ALL adalah sebuah perintah SQL yang digunakan untuk menggabungkan hasil query dari dua atau lebih table di database, dengan ketentuan jumlah kolum / field yang ditampilkan antara table satu dan table lainnya harus sama. Langsung saja kita mulai belajar tentang UNION dan UNION ALL.

Isi
     - Yang harus disiapkan
     - Penggunaan UNION
     - Penggunaan UNION ALL
     - Perbedaan UNION dan UNION ALL
     - Kesimpulan

Yang harus disiapkan
1. Tabel Pelanggan
id
nama
kota
1
Agus Haryanto
Aceh
2
Beni Norman
Bengkulu
3
Riki Kurniawan
Banten
4
Juniadi
Jakarta

2. Tabel Suplayer
id
nama
kota
1
Caca Handika
Banten
2
Dede Komarudin
Jakarta
3
Nurohman
Makasar
4
Siti Maulida
Jogja


Penggunaan UNION
Berikut adalah contoh query sql dengan mengunakan UNION

SELECT kota FROM pelanggan
UNION
SELECT kota FROM suplayer
Hasil :
kota
Aceh
Bengkulu
Banten
Jakarta
Makasar
Jogja
Dari hasil query diatas kota banten dan jakarta hanya ditampilkan sekali, karena dalam UNION jika nilai record dianggap sama maka akan disatukan dan tidak akan ditampilkan dua kali. 

Penggunaan UNION ALL
Berbeda dengan UNION, pada UNION ALL meski data memiliki nilai yang sama hasil record akan tetap ditampilkan semua nya. Berikut contoh query SQL menggunakan UNION ALL

SELECT kota FROM pelanggan 
UNION ALL
SELECT kota FROM suplayer
Dari hasil query diatas maka akan menghasilkan data sebagai berikut :
kota
Aceh
Bengkulu
Banten
Banten
Jakarta
Jakarta
Makasar
Jogja

Kesimpulan
Dari Hasil contoh query diatas sangat jelas perbedaan antara UNION dan UNION ALL, sedangkan untuk performa biasanya UNION ALL lebih baik dari pada UNION, ini dikarenakan pada UNION ALL data yang memiliki nilai yang sama akan tetap ditampilkan, sedangkan pada UNION server diharuskan untuk melakukan pekerjaan tambahan yaitu menseleksi data yang memiliki nilai yang sama. Kami harap teman-teman terbantu dengan artikel ini.

Post a Comment

0 Comments