Perbedaan UNION dan UNION ALL pada SQL

Untuk menggabungkan isi dari dua tabel atau lebih sering kita menggunakan UNION. Namun sesungguhnya di SQL terdapat dua jenis UNION, yaitu UNION dan UNION ALL. Secara gambar himpunan dapat kita lihat perbedaan seperti dibawah:

UNION
UNION
UNION ALL
UNION ALL

Dari gambar di atas dapat kita ketahui bahwa pada UNION data yang sama akan ditampilkan satu kali saja. Namun pada UNION ALL data yang sama akan tetap ditampilkan. Berikut contoh di Query mySQL:

Untuk UNION:

SELECT nama_data FROM data_baru WHERE status = 'ok'
UNION
SELECT nama_data FROM data_lama WHERE status = 'ok'

sedangkan isi dari tabel data_baru  adalah sebagai berikut:

id nama_data status
1 Data 1 failed
2 Data 2 failed
3 Data 3 ok
4 Data 4 ok

Dan isi dari tabel data_lama adalah sebagai berikut:

id nama_data status
1 Data 1 failed
2 Data 2 failed
3 Data 3 ok
4 Data 4 ok

Dan ketika kita menggunakan query UNION hasilnya:

nama_data
Data 3
Data 4

Untuk UNION ALL query nya sebagai berikut:

SELECT nama_data FROM data_baru WHERE status = 'ok'
UNION ALL
SELECT nama_data FROM data_lama WHERE status = 'ok'

Untuk isi tabel data_baru dan data_lama sama dengan di atas, maka saat dilakukan query tersebut, hasilnya adalah sebagai berikut:

nama_data
Data 3
Data 3
Data 4
Data 4

Semoga bermanfaat dan menjadi catatan kami.

One thought on “Perbedaan UNION dan UNION ALL pada SQL

Silahkan Komentar ... !

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s