Senin, 07 Desember 2015

Query : Perbedaan Union dan Union All

Perintah UNION digunakan untuk menggabungkan isi dari 2 (dua) tabel atau lebih. Perintah ini terdiri dari dua jenis, yaitu UNION dan UNION ALL. Seperti biasanya untuk menghasilkan suatu dataset perintah UNION ini harus disisipkan diantara perintah SELECT.
Agar lebih jelas kita ambil contoh sederhana dari sekumpulan data.
tabel_A = {‘1001’, ‘1002’, ‘1003’, ‘1004’, ‘1005’}
tabel_B = {‘1002’,’1005’,’1006’,’1007’}


UNION
Kalau kita ingin menggabungkan dari dua tabel tersebut dengan menggunakan UNION maka akan menghasilkan himpunan data berikut {{‘1001’, ‘1002’, ‘1003’, ‘1004’, ‘1005’, ’1006’,’1007’}
Dalam bentuk diagram himpunan terbentuk sebagai berikut :
union
Dalam bentuk tabel sebagai berikut
tabel_A tabel_B tabel Hasil
Kode
Kode
Kode
1001
1002
1001
1002
1005
1002
1003
1006
UNION
1003
1004
1007
1004
1005
1005
1006
1007
Bentuk perintahnya dalam SQL :
SELECT* FROM tabel_A UNION SELECT* FROM tabel_B
UNION ALL
Berbeda dengan perintah UNION, perintah UNION ALL menggabungkan keseluruhan data walaupun data tersebut mempunyai isi yang sama. Untuk jelasnya kita ambil kembali contoh yang di atas.
tabel_A = {‘1001’, ‘1002’, ‘1003’, ‘1004’, ‘1005’}
tabel_B = {‘1002’,’1005’,’1006’,’1007’}
Kalau kita memakai perintah UNION ALL, data yang dihasilkan {‘1001’, ‘1002’, ‘1003’, ‘1004’, ‘1005’, ‘1002’,’1005’,’1006’,’1007’}. Jadi semua data akan digabung walaupun menghasilkan data ganda seperti kode ‘1002’ dan ‘1005’ akan ditampilkan 2 (dua) kali.
Bentuk diagram himpunan
unionall
Dalam bentuk tabel dapat digambarkan sebagai berikut :
tabel_A tabel_B tabel Hasil
Kode
Kode
Kode
1001
1002
1001
1002
1005
1002
1003
1006
UNION ALL
1003
1004
1007
1004
1005
1005
1002
1005
1006
1007
Perintahnya dalam bentuk SQL
SELECT* FROM tabel_A UNION ALL SELECT* FROM tabel_B

Tidak ada komentar:

Posting Komentar