Selasa, 16 Agustus 2016

Menggabungkan Tabel Database Mysql

Di dalam sebuah RDBMS termasuk juga MySQL, pastinya telah jadi sebuah kewajaran apabila dalam satu database bakal terdiri dari sekian banyak tabel. Masing-masing tabel tersebut bakal berhubungan (berelasi) satu sama lain. Rekan Bisnis antar-tabel mampu berupa kawan kerja 1-1 (one-to-one), 1-M (one-to-many), atau M-N (many-to-many). Yang Merupakan sampel kelihatan kepada gambar pemodelan data konseptual (class diagram) di bawah ini. Tabel pelanggan berhubungan bersama pesan, pesan dgn barang, dan sebagainya.
Kepada pelaksanaan satu buah penerapan, terkadang kita pun memerlukan penampakan data yg tak cuma berasal dari 1 (satu) tabel, tetapi mampu dari sekian banyak tabel sekaligus. Misalnya, dari class diagram dibawah, kita mau menampilkan nama pelanggan berikut transaksi yg sempat dilakukannya. Dari sampel tersebut, kita mesti dapat menggabungkan minimal dua tabel, yakni pelanggan & pesan.

Buat menggabungkan 2 (dua) atau lebih tabel, kita bisa memakai wujud perintah JOIN. Dalam pedoman ini, bakal dijelaskan dengan cara bertahap menyangkut macam mana menggabungkan dua tabel atau lebih, terutama buat menampilkan data yg berasal dari sekian banyak tabel. Contoh-contoh dalam arahan ini dengan cara kusus sudah dicoba di database MySQL, tapi begitu dengan cara umum perintah penggabungan tabel di seluruh kategori database tak jauh tidak serupa alias sama.
Sebelum menggali ilmu berkaitan perintah penggabungan tabel, butuh dipersiapkan tabel-tabel yg dapat dijadikan juga sebagai bahan latihan & sample dalam anjuran ini. Kita dapat memakai tabel design system pemesanan barang (pembelian) sederhana berikut ini. Utk membuatnya, Kamu bisa memanfaatkan tools seperti PHPMyAdmin & MySQLFront atau juga dapat lewat command-prompt. Jikalau difungsikan, pelajari kembali postingan aku diawal mulanya berkenaan administrasi database MySQL bersama PHPMyAdmin & pun dasar-dasar perintah SQL. janganlah
lupa mengisi sekian banyak sample data ke tabel-tabel yg telah Kamu buat.
Contoh Class Diagram System Pembelian

1. Inner Join
Dgn inner join, tabel bakal digabungkan dua arah, maka tak ada data yg NULL di satu segi. Sbg sampel, kita bakal menggabungkan tabel pelanggan & pesan di mana kita dapat menampilkan list pelanggan yg sempat jalankan pemesanan (transaksi). Umpamanya mengisi tabel pelanggan & pesan merupakan yang merupakan berikut :
Tabel pelanggan (cuma ditampilkan field id_pelanggan, nm_pelanggan & email)

Tabel pesan

Cara 1 Inner Join dengan WHERE

SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan, pesan WHERE pelanggan.id_pelanggan=pesan.id_pelanggan;


Hasil Penggabungan 2 Tabel dengan WHERE Terhadap hasil perintah query di atas nampak bahwa terdapat 5 (lima) transaksi yg dilakukan oleh 3 (tiga) orang pelanggan. Seandainya kita tonton kembali mengisi tabel pelanggan di atas, sehingga terdapat satu pelanggan yg tak ditampilkan merupakan yg mempunyai id pelanggan P0003. Pelanggan tersebut tak ditampilkan sebab belum sempat laksanakan transaksi.

Cara 2 inner Join dengan clausa Inner Join


SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan INNER JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;
2.Outer Join

Bersama outer join, tabel dapat digabungkan satu arah, maka mengijinkan ada data yg NULL (kosong) di satu segi. Juga Sebagai sample, kita bakal menggabungkan tabel pelanggan & pesan di mana kita bakal menampilkan list pelanggan yg sempat jalankan pemesanan (transaksi). Outer Join terbagi jadi 2 (dua) merupakan LEFT JOIN & RIGHT JOIN. Berikut ini wujud umum & misalnya :

 Left Join
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan LEFT JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;
Hasil Perintah Left Join
Tidak Serupa bersama hasil diawal mulanya(inner join), pemakaian left join bakal menampilkan pula data pelanggan bersama id P0003, walau pelanggan tersebut belum sempat bertransaksi. & kepada kolom id_pesan & tgl_pesan buat pelanggan P0003 isinya NULL, artinya di tabel kanan (pesan) pelanggan tersebut ga ada.

Right Join
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan RIGHT JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;

Hasil Perintah Right Join
Dgn right join, tabel yg jadi acuan yakni tabel sebelah kanan (tabel pesan), menjadi seluruh isikan tabel pesan dapat ditampilkan. Apabila data pelanggan ga ada di tabel pelanggan, sehingga mengisi tabel pesan terus ditampilkan.

Itulah sedikit cara untuk menggabungkan tabel dalam database Mysql