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.
Untuk menggabungkan 2 (dua) atau lebih tabel, kita dapat menggunakan
bentuk perintah JOIN.
Berikut ini adalah contoh dari penggabungan antara 2 tabel dalam mysql :
1 . Sebelum kita menggabungklan dua tabel dalam mysql, alangkah baiknya kita harus membuat terlebih dahulu database yang akan digunakan untuk proses tersebut.
Masuk terminal ketikkan :
1.#sudo su kemudian akan muncul #password anda.
2.Setelah itu ketikan #mysql -u root -p
3.Kemudian masukan perinta seperti berikut:
4Selanjutnya,anda pilih database yang digunakan perintah
# use name_database;
6.Kemudian anda dapat melihat tabel yang berada pada database yang anda pilih tadi.dengan menggunakan perintah sebagai berkut
# show tables;
7. Setelah itu anda dapat melihat tabel yang adaa.dan bisa juga melihat secara detail.silahkan gunakan perinta sebagai berikut:
9.Dan masukkan perinta berikut
# desc nama_tabel;
8. Lalu mulailah mengisi isi table dalam database dengan perintah insert into nama database anda values.
dan hasilnya seperti ini:
Selanjutnya silahkan membuat table baru.
#create table pesan. Hal ini bertujuan agar nantinya table 1 bisa digabungkan dengan table pesan ini.
1.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 email).
Berbeda dengan hasil sebelumnya (inner join), penggunaan left join akan
menampilkan juga data pelanggan dengan id P0003, walaupun pelanggan
tersebut belum pernah bertransaksi. Dan pada kolom id_pesan dan tgl_pesan
untuk pelanggan P0003 isinya NULL, artinya di tabel kanan (pesan) pelanggan
tersebut tidak ada.
*Perintah SQL untuk menggabungkan tabel pelanggan dan pesan pada bentuk left join:
3.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 dulu dari saya semoga bermanfaat. Terimakasih.
Wassalamualaikum wr.wb











0 komentar:
Posting Komentar