Join Table
Join Table
Lisensi Dokumen:
Copyright © 2003-2007 IlmuKomputer.Com
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan
secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau
merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen.
Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu
dari IlmuKomputer.Com.
Relasi table pada database sangat diperlukan untuk menyederhanakan data-data kita,dan supaya
mudah untuk diatur.Ada beberapa cara yang digunakan untuk merelasikan table.Pada pelajaran
kali ini saya akan mengajarkan cara relasi database dengan menggunakan keluarga JOIN.Relasi
table dengan Join ada 6 macam.
CROSS JOIN
STRAIGHT JOIN
INNER JOIN
RIGHT JOIN
LEFT JOIN
NATURAL JOIN
Sebelum memulai pelajaran kali ini saya asumsikan di computer anda sudah terinstal mysql
server,dan phpmyadmin.Jika anda belum punya silahkan download disini untuk phpmyadmin
http://www.phpmyadmin.net/home_page/downloads.php dan untuk mysql download disini
http://www.mysql.com/downloads/mysql/ atau agar lebih mudah download aja yang sudah
dipaket,anda bias gunakan wamp download disini http://www.wampserver.com/en/ .
Untuk mempermudah pelajaran kali ini saya sudah menyiapakan database yang sudah saya
export dengan nama produk.sql.silahkan di import melalui phpmyadmin.dan juga saya sudah
siapkan versi dump nya.
Contoh:
Anda membuat table namanya nilai dengan huruf kecil semua.untuk menampilkan isi dari table
gunakan query berikut
Ok sekarang masuk dulu ke mysql server anda kalau pakai console ketik mysql –u root –p
[enter] masukkan password.
Setelah itu masuk ke database produk
Lalu untuk melihat table yang sudah dibuat ketik perintah berikut
Disitu terdapat dua table yang ingin kita relasikan yaitu table jenis dan produk.Untuk meliat
deskripsi dari kedua table tersebut gunakan query berikut
Ok sekarang kita perhatikan pada table jenis dan produk terdapat field yang sama yaitu
no_jenis.yang akan kita gunakan untuk merelasikan kedua table berikut.
Pada table produk primary key nya adalah id_produk sedangkan pada table jenis primary key
nya adalah no_jenis.Nah,pada table jenis no_jenis adalah kunci primer(primary key),sedangkan
pada table produk no_jenis adalah kunci tamu(foreign key).
Nah pada field/kolom no_jenis pada table jenis dan produk ,kita bermaksud menghubungkan
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com 3
no_jenis di table jenis dan no_jenis di table produk,agar angka-angka di field no_jenis pada
table produk diganti dengan huruf pada field nm_jenis di table jenis.kita bias melakukan hal
tersebut dengan merelasi kan kedua table tersebut.
A.Cara Manual
Baik,cara manual untuk merelasikan kudua table yaitu dengan query seperti berikut
| 5 | Televisi | Elektronik |
| 5 | Televisi | FOOD |
| 6 | Komputer | Furniture |
| 6 | Komputer | Elektronik |
| 6 | Komputer | FOOD |
+-----------+-----------+------------+
18 rows in set (0.00 sec)
Kalau kita lihat output diatas rada aneh ya karena tidak sesuai yang kita harapkan.terdapat
banyak redudansi data pada output diatas nah,untuk mengatasi hal tersebut kita bias gunakan
Sekarang table sudah muncul sesuai yang diharapkan.ini dikarenakan yang kita relasikan hanya
no_jenis di table produk dan no_jenis di table jenis.
Ok sekarang sesudah kita paham dengan konsep relasi,kita akan bedakan relasi cara Manual di
atas dengan menggunakan Keluarga JOIN
B.JOIN TABLE
1.CROSS JOIN
Pada dasarnya cross join tidak ada bedanya dengan Cara manual di atas yang
membedakan adalah tanda Koma(,) sesudah kata from.query nya seperti berikut.
Bisa kita lihat tanda koma pada cara manual,di cara Cross join diganti dengan klausa Cross join
2.STRAIGHT JOIN
Straight Join juga pada dasarnya sama seperti cross join perbedaan yang jelas disini
adalah Straight Join tidak bisa menggunakan Klausa Kondisi seperti Where atau On
Bisa kita lihat,jika menggunakan clausa where atau on akan menampilkan pesan error
3.INNER JOIN
Inner Join konseprnya sama seperti Cross Join Tidak ada perbedaan apapun
Left Join digunakan untuk menampilkan semua record pada table di sebelah kiri .
mysql> select id_produk,nm_produk,nm_jenis from produk left join jenis
on produk.no_jenis=jenis.no_jenis;
+-----------+-----------+------------+
| id_produk | nm_produk | nm_jenis |
+-----------+-----------+------------+
| 1 | Lemari | Furniture |
| 2 | Kulkas | Elektronik |
| 3 | Meja | Furniture |
| 4 | Bangku | Furniture |
| 5 | Televisi | Elektronik |
| 6 | Komputer | Elektronik |
+-----------+-----------+------------+
6 rows in set (0.00 sec)
Kita Lihat, Pada contoh diatas left join akan menampilkan semua record pada table di sebelah
kiri yaitu table produk sedangkan table jenis berada disebelah kanan sehingga table jenis akan
menyesuaikan .
5.RIGHT JOIN
Kebalikan dari left join ,right join digunakan untuk menampilkan semua record pada
table di sebelah kanan.
Dapat kita lihat Table jenis akan ditampilkan semua sehingga untuk field/kolom nm_jenis
FOOD karena tidak ada pasangan di table produk maka table produk akan otomatis mengisinya
dengan NULL.
6.NATURAL JOIN
Natural Join ini mungkin merupakan jawaban bagi query-query yang panjang seperti
diatas.karena tanpa menggunakan kalusa where,natural join akan secara otomatis merelasikan
table tersebut dengan sangat tepat.
Note:Natural join tidak bias menggunakan klausa on ,sehingga jika kita meggunakan klausa
tersebut akan muncul pesan error.