Riky Metall's Blog di Facebook!

Like Page halaman rikymetalist.blogspot.com di Facebook!

Saturday, 8 June 2013

MySQL >> Belajar "Join" di MySQL

Selamat malam semuanya, setelah membahas tentang DDL, DML dan SELECT, selanjutnya saya akan membahas tentang JOIN di Mysql. Sebelum kita melakukan proses join, buatlah 2 buah tabel yaitu table mahasiswa dan mahasiswa_detail seperti contoh dibawah ini :
tabel mahasiswa

nim nama_mahasiswa
001 Ujang Doremi
002 Budi Fasola
003 Cecep Sukhoi

tabel mahasiswa_detail
nim jenis_kelamin tempat_lahir
001 Laki-laki Bandung
003 Laki-laki Cianjur
005 Perempuan Sumedang

dari kedua tabel diatas dapat dilihat ada bahwa pada tabel mahasiswa tidak terdapat mahasiswa dengan nim 005, sedangkan pada tabel mahasiswa_detail terlihat tidak ada mahasiswa dengan nim 002. Jikalau kita melakukan join biasa pasti ada data yang tidak muncul. Coba lakukan proses seperti dibawah ini :

SELECT * FROM mahasiswa m, mahasiswa_detail md WHERE m.nim=md.nim
 
maka hasilnya seperti tabel dibawah ini :

nim nama_mahasiswa nim jenis_kelamain tempat_lahir
001 Ujang Doremi 001 Laki-laki Bandung
003 Cecep Sukhoi 003 Laki-laki Cianjur

mengapa demikiaan ?. Hal ini dikarenakan pada query diatas ada kondisi dimana nim yang ada pada tabel mahasiswa (m.nim) itu harus sama dengan nim yang ada pada tabel mahasiswa_detail (md.nim), maka dari itu data yang muncul hanya 2 data saja karena nim yang sama diantara kedua tabel tersebut hanya ada 2 saja. Lalu bagaimana jika kita ingin menampilkan data yang ada di mahasiswa tapi tidak di mahasiswa_detail ataupun sebaliknya ?. Kita dapat menggunakan LEFT JOIN atau RIGHT JOIN seperti contoh di bawah ini :

SELECT * FROM mahasiswa m LEFT JOIN mahasiswa_detail md ON m.nim=md.nim
 
hasilnya seperti tabel dibawah ini :

nim nama_mahasiswa nim jenis_kelamin tempat_lahir
001 Ujang Doremi 001 Laki-laki Bandung
002 Budi Fasola NULL NULL NULL
003 Cecep Sukhoi 003 Laki-laki Cianjur

mengapa demikian ?. Karena Left Join ini digunakan untuk menampil semua data pada tabel yang di sebelah kiri, maka dari itu tabel mahasiswa yang pada sintax diatas berada di sebelah kiri datanya tampil semua.

SELECT * FROM mahasiswa m RIGHT JOIN mahasiswa_detail md ON m.nim=md.nim
 

hasilnya seperti tabel dibawah ini :

nim nama_mahasiswa nim jenis_kelamin tempat_lahir
001 Ujang Doremi 001 Laki-laki Bandung
003 Cecep Sukhoi 003 Laki-laki Cianjur
NULL NULL 005 Perempuan Sumedang

mengapa demikian ?. Karena Right Join ini digunakan untuk menampil semua data pada tabel yang di sebelah kanan, maka dari itu tabel mahasiswa_detail yang pada sintax diatas berada di sebelah kanan datanya tampil semua.

Sekian dulu pembahasan tetang JOIN nya, nantikan tutorial-tutorial berikutnya.

Sumber : http://jagocoding.com/tutorial/121/Belajar_Join_di_MySql

No comments:

Post a Comment

Saya mengharapkan saran dan komentar dari Anda. Namun sangat indah jika Anda ramah dan sopan, serta bijaksana dalam berkomentar. :)

10 Komentar Terakhir