Sabtu, 26 Maret 2016

Perintah SELECT dari Banyak Tabel Dengan Join.

Posted by Unknown on 11.27 with No comments
 Assalamualaikum wr.wb.
Hari ini saya akan sharing tentang Perintah SELECT dari Banyak Tabel Dengan Join.

   Di dalam suatu RDBMS tentunya sudah menjadi suatu kewajaran jika dalam
satu database dapat terdiri dari beberapa tabel. Masing-masing tabel tersebut
berhubungan satu sama lain atau dengan kata lain memiliki relasi. Relasi
antar-tabel dapat berupa relasi 1-1, 1-M, atau M-N. Sebagai contoh terlihat pada gambar pemodelan data konseptual (class diagram) di atas. Tabel pelanggan berhubungan dengan pesan, pesan dengan barang, dsb.

  Pada praktisnya, terkadang kita juga memerlukan tampilan data yang tidak
hanya berasal dari 1 (satu) tabel, namun bisa dari beberapa tabel sekaligus.
Contohnya, dari class diagram diatas, kita ingin menampilkan nama pelanggan berikut transaksi yang pernah dilakukannya. Dari contoh tersebut, kita harus bisa menggabungkan minimal dua tabel, yaitu pelanggan dan pesan.
*Perintah-perintah membuat database pelanggan.
-Buka terminal anda dan ketikkan:
#sudo su
#password
#mysql -u root -p
  mysql> create database pelanggan;


*Perintah-perintah membuat table pelanggan.





*Perintah-perintah membuat table pesan.




 Untuk menggabungkan 2 (dua) atau lebih tabel, kita dapat menggunakan
bentuk perintah JOIN.

*INNER JOIN.
  Dengan inner join, tabel akan digabungkan dua arah, sehingga tidak ada
data yang NULL di satu sisi. Sebagai contoh, kita akan menggabungkan tabel
pelanggan dan pesan dimana kita akan menampilkan daftar pelanggan yang
pernah melakukan pemesanan (transaksi). Isi tabel pelanggan dan pesan adalah sebagai berikut :

-Tabel pelanggan (hanya ditampilkan id, nama dan alamat).


-Tabel pesan :



1.Penggabungan dengan WHERE :


*Pada hasil perintah query di atas terlihat bahwa terdapat 4 (empat) transaksi
yang dilakukan oleh empat (empat) orang pelanggan.

2.Penggabungan dengan INNER JOIN :


3.Penggabungan dengan LEFT JOIN :


  Berbeda dengan hasil sebelumnya, penggunaan left join akan
menampilkan juga data pelanggan dengan id pelanggan, walaupun pelanggan
tersebut belum pernah bertransaksi.

4.Penggabungan dengan RIGHT JOIN :


   Dengan right join, tabel yang menjadi acuan adalah tabel sebelah kanan
(tabel pesan), jadi semua isi tabel pesan akan ditampilkan. Jika data pelanggan tidak ada di tabel pelanggan, maka isi tabel pesan tetap ditampilkan.

Sekian sharing saya.
Wassalamualaikum wr.wb.

0 komentar:

Posting Komentar