cara-cara join part 1
Materi ini mau membahas lebih dalam cara-cara untuk pengabungan antar tabel , pada materi sebelumnya saya sudah pernah membahas penggabunga antara dua tabel dan penggabunagan antara tiga tabel.
*join atau equijoin*
Join atau penggabungan sebenarnya sudah anda kenal bila anda melihat kedua materi tersebut. Makna join itu sendiri adalah penggabungan data yang berasal dari beberapa dari beberapa tabel. Umumnya operator yang digunakan untuk melaksanakan penggabungan berupa operator sama dengan(=). Penggabungan yang menggunakan operator inilah yang di kenal dengan equality join atau equijoin. Hasil pengabungannya berupa baris-baris gabungan tabel-tabel yang memiliki nilai sama untuk kolom-kolom yang disebutkan dalam kondisi penggabungan. Namun, dalam praktik kadangkala diperlukan penggabungan yang berbeda dengan yang telah diuraikan.
Catatan:
“ apabila operator yang digunakan untuk menghubungkan satu tabel dengan tabel lainnya tidak berupa sama dengan (=) melainkan berupa operator seperti <> atau >= maka join akan disebut sebagai non-equijoin.”
Sebelum masuk kedalam praktik query berbagai operator join yang segera akan kita bahas, ada baiknya kita siapkan terlebih dahulu database dengan nama wilayahdan beberapa tabel yaitu provinsi, kota dan kecamatan. Buat ketiga tabel tersebut seperti berikut :
#provinsi
field
|
Tipe(panjang)
|
Ket
|
Kode_prov
|
Varchar(2)
|
Primery key
|
Nama_prov
|
Varchar(30)
|
#kota
field
|
Tipe(panjang)
|
Ket
|
Kode_prov
|
Varchar(2)
|
Primary key
|
Kode_kota
|
Varchar(2)
|
Primary key
|
Nama_kota
|
Varchar(25)
|
#kecamatan
field
|
Tipe(panjang)
|
Ket
|
Kode_prov
|
Varchar(2)
|
Primary key
|
Kode_kota
|
Varchar(2)
|
Primary key
|
Kode_kec
|
Varchar(2)
|
Primary key
|
Nama_kec
|
Varchar(25)
|
Setelah anda sudah membuat ketiga tabel di atas ada baiknya anda isi kan data kedalam tiga tabel tersebut. Bila anda sudah mengis data-data ke dalam tabel-tabel di atas maka kita sudah bisa masuk ke dalam query.
Dengan mengacu dari tabel-tabel di atas, dimungkinkan untuk menggabungkan data dari nama kota dan nama provinsi melalui perintah seperti berikut.
Penulisan:
select k.nama_kota, p.nama_prov from kota k, provinsi p
where k.kode_prov = p.kode_prov;
dari contoh query diatas dapat di ambil kesimpulan penghubung antar tabel tersebut where k.kode_prov = p.kode_prov dan hanya akan menampilkan data nama_kota dari tabel kota juga nama_prov dari tabel provinsi.
*Natural Join*
Natural join adalah penggabungan data dari dua buah tabel yang didasarkan pada kolom dengan nama sama pada kedua tabel. Penggabungan ini mencerminkan hubungan antara kunci tamu dan kunci primery dalam dua buah tabel. Bila kita ambil contoh query berikut,
select k.nama_kota, p.nama_prov from kota k, provinsi p
where k.kode_prov = p.kode_prov;
maka yang menjadi sebagai kunci tamu yaitu kode_prov yang berada di tabel kota dan yang menjadi kunci primery field kode_prov yang berada di tabel provinsi. Perintah, query diatas sebenarnya bisa anda ganti menggunakan natural joinpada bagian setelah kata from seperti contoh berikut.
select nama_kota, nama_prov from provinsi natural join kota;
perintah di atas bisa anda tulis menjadi seperti:
select nama_kota, nama_prov from kota natural join provinsi;
natural join pada prinsipnya dapat anda gunakan beberapa kali dalam sebuah pernyataan SELECT. Contoh berikut menunjukan cara mendapatkan informasi mengenai nama kecamatan, nama kota, dan nama provinsi.
Pnulisan:
Select nama_kec, nama_kota, nama_prov
From kecamatan
Natural join kota
Natural join provinsi;
Pada contoh diatas, penggabungan kecamatan dan kota dilakukan melalui kolom yang sama yaitu dengan kode_prov dan kode_kota dan penggabungan ke provinsi dilakukan menggunakan melalui kolom yang sama yaitu kode_prov.
Bila anda tidak menggunakan kata kunci natural join contoh yang query yang ada di atas akan menjadi seperti berikut.
Select nama_kec, nama_kota, nama_prov
From kecamatan, kota, provinsi
Where kecamatan.kode_prov = kota.kode_prov
And kecamatan.kode_kota = kota.kode_kota
And kota.kode_prov = provinsi.kode_prov;
cara-cara join part 2 (cross join)
cara-cara join part 3 (inner join dan outer join)
dari sini materi kali ini saya sudahi, semoga materi bermanfaat bagi kita semua. Ketemu lagi materi berikutnya , jangan lupa share dan follow blog atau anda bisa lihat materi lainnya yang ada disini!! TERIMA KASIH!! Sampai ketemu lagi.
Makasih.. Mudah di mengerti
ReplyDelete