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:
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.

















