Sabtu, 26 Maret 2016

Perintah SELECT dari Banyak Tabel dengan JOIN pada MySQL

Assalamualaikum Wr.Wb

Kali ini saya akan sharing tentang penggabungan sql dengan menggunakan perintah dibawah ini, dan kita langsung saja ke perintahnya.

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

dan kali ini saya akan memberikan contoh penggabungan pelanggan dengan pesan dan langsung saja ke contohnya :

#perintah perintah membuat database pelanggan#
1. Buka terminal dan ketikan perintah :
* su -> password
*mysql -u root -p



2. Jika sudah kita buat database dan kita aktifkan databasenya
*create database palaggan;


* use pelanggan;


 #perintah membuat tabel pelanngan#


#perintah untuk membuat table pesan #


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

#Tabel pelanggan (hanya ditampilkan id, nama dan email)#


#Tabel pesan#


#masuk ke penggabungan dan berikut perintahnya# 
#Penggabungan dengan WHERE#

SELECT tabel1.*, tabel2.* FROM tabel1, tabel2
WHERE tabel1.PK=tabel2.FK;




Penjelasan : Pada hasil perintah query di atas terlihat bahwa terdapat 3 (empat) transaksi
yang dilakukan oleh tiga orang pelanggan.

#Penggabungan dengan INNER JOIN#

SELECT tabel1.*, tabel2.*
FROM tabel1 INNER JOIN tabel2
ON tabel1.PK=tabel2.FK;



Penjelsan : Perintah inner join hampir sama dengan perintah where tidak ada bedanya tapi yang membuat berbeda cara penulisannya saja.

#penggabungan dengan LEFT JOIN#

SELECT tabel1.*, tabel2.*
FROM tabel1 LEFT JOIN tabel2
ON tabel1.PK=tabel2.FK;



Penjelasan : Berbeda dengan hasil sebelumnya (inner join), penggunaan left join akan menampilkan juga data pelanggan dengan id 237, walaupun pelanggan
tersebut belum pernah bertransaksi. Dan pada kolom id_pesan dan tgl_pesan
untuk pelanggan 237 isinya NULL, artinya di tabel kanan (pesan) pelanggan
tersebut tidak ada

#penggabungan dengan RIGHT JOIN#

SELECT tabel1.*, tabel2.*
FROM tabel1 RIGHT JOIN tabel2
ON tabel1.PK=tabel2.FK;



Penjelasan : 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 dari saya tentang penggabungan 2 (dua) sql menggunakan perintah where dan perintah join. Terima kasih

Wassalamualaikum Wr.Wb

0 komentar:

Posting Komentar