- Union
Dipergunakan untuk menggabungkan dua atau lebih hasil query select kedalam satu buah output.
untuk memahami pernggunaan union sql server perhatikan contoh dibawah ini, buat table pelanggan dan table perusahaan yang nantinya dari kedua table tersebut akan digabungkan
CREATE TABLE pelanggan
(
id_pelanggan int,
nama_depan varchar(64),
nama_belakang varchar(64),
nomor_telpon varchar(30),
alamat varchar(100)
)
CREATE TABLE perusahaan
(
id_perusahaan int,
nama_pemilik varchar(64),
nama_perusahaan varchar(64),
nomor_telpon varchar(30),
alamat varchar(100)
)
setelah membuat table di MS SQL Server setelah itu isikan, dengan dengan data yang ada dibawah ini pada table pelanggan :
INSERT INTO pelanggan (id_pelanggan,nama_depan,nama_belakang,nomor_telpon,alamat) VALUES ('1','maman','suparman','(+62)8111','jawa barat')
INSERT INTO pelanggan (id_pelanggan,nama_depan,nama_belakang,nomor_telpon,alamat) VALUES ('2','anang','gulali','(+62)8213','kalimantan selatan')
INSERT INTO pelanggan (id_pelanggan,nama_depan,nama_belakang,nomor_telpon,alamat) VALUES ('3','donnie','subara','(+62)8111','jakarta')
INSERT INTO pelanggan (id_pelanggan,nama_depan,nama_belakang,nomor_telpon,alamat) VALUES ('4','imade','nyoman','(+62)8111','denpasar')
dan ini pada table perusahaan
INSERT INTO perusahaan (id_perusahaan,nama_pemilik,nama_perusahaan,nomor_telpon,alamat) VALUES ('100', 'jaja', 'bandung enterprise', '(+62)9992','indonesia')
INSERT INTO perusahaan (id_perusahaan,nama_pemilik,nama_perusahaan,nomor_telpon,alamat) VALUES ('200', 'joe', 'banjarlab tbk', '(+62)9995','indonesia')
sehingga terlihat 2 buah table dengan data seperti ini
table pelanggan
table perusahaan
setelah itu baru coba perintah union di ms sql server dengan perintah
SELECT 'pelanggan' as jenis,
nomor_telpon,
alamat
FROM pelanggan
UNION
SELECT 'perusahaan',
nomor_telpon,
alamat
FROM perusahaan
hasil yang tampil adalah :
mungkin ada yang bertanya, bagaimana menyatukan kedua table jika ada field yang berbeda, caranya cukup dengan menjadikan alias dari field yang ingin dibuat begitu juga jika field yang berbeda lebih dari satu dapat digabungkan. perhatikan contoh dibawah ini, field nama depan dan nama belakaang dijadikan field kontak yang ada di tabel pelanggan dan field nama_pemilik dan nama_perusahaan digabung juga menjadi field kontak
SELECT 'pelanggan' as jenis,
nama_depan+' '+nama_belakang as kontak,
nomor_telpon,
alamat
FROM pelanggan
UNION
SELECT 'perusahaan',
nama_pemilik+' '+nama_perusahaan as kontak,
nomor_telpon,
alamat
FROM perusahaan
hasil query penggunaan union akan tampil seperti ini
- Except
Membandingkan hasil dari dua statemen select dan mengembalikan baris hasil dari statemen select pertama yang tidak ada dalam hasil statemen select yang kedua
untuk memahami maksud dari except buat table dengan struktur dibawah ini
table gudang
create table gudang
(
kode_brg varchar(5),
nama_brg varchar(24),
)
dan juga buat table penjualan
create table penjualan
(
id_trans int,
kode_brg varchar(5),
jlh_jual int,
)
masukan data datanya dengan mengetika query insert ms sql server dibawah ini :
INSERT INTO gudang (kode_brg,nama_brg) VALUES ('A1', 'buku')
INSERT INTO gudang (kode_brg,nama_brg) VALUES ('A2', 'pencil')
INSERT INTO gudang (kode_brg,nama_brg) VALUES ('A3', 'spidol')
INSERT INTO gudang (kode_brg,nama_brg) VALUES ('A4', 'penggaris')
INSERT INTO gudang (kode_brg,nama_brg) VALUES ('A5', 'penghapus')
INSERT INTO penjualan (id_trans,kode_brg,jlh_jual) VALUES ('1','A1','2')
INSERT INTO penjualan (id_trans,kode_brg,jlh_jual) VALUES ('2','A1','1')
INSERT INTO penjualan (id_trans,kode_brg,jlh_jual) VALUES ('3','A2','1')
INSERT INTO penjualan (id_trans,kode_brg,jlh_jual) VALUES ('4','A1','1')
INSERT INTO penjualan (id_trans,kode_brg,jlh_jual) VALUES ('5','A4','2')
menghasilkan hasil data sepeperti ini :
sekarang ketik perintah dibawah ini untuk mengetahui salah satu penggunaan query select except
SELECT
kode_brg
FROM gudang
EXCEPT
SELECT
kode_brg
FROM penjualan
akan terlihat hasil dari perintah select except dari dua table
- Intersect
Membandingkan hasil dari dua statemen select dan mengembalikan hasil statemen yang ditemukan pada statemen select pertama dan statemen select yang kedua.
perintah sql intersect yang digunakan seperti ini :
kode_brg
FROM gudang
INTERSECT
SELECT
kode_brg
FROM penjualan
pada percobaan intersect cukup menganti perintah except menjadi
intersect seperti perintah dibawah ini maka hasilnya akan terlihat :
terlihat kalau kode_barang yang ditampilkan adalah kode barang yang merupakan hasil dari intersect dari kedua query table.
Demikian tutorial Select Union Except Intersect Table dari Microsoft SQL Server ini, semoga dapat dipahami dan dapat bermanfaat bagi semuanya yang memerlukan informasi ini.
EmoticonEmoticon