JOIN
Join merupakan perintah yang digunakan untuk menampilkan data dari beberapa tabel. Join merupakan perintah dalam MYSQL yang digunakan untuk menggabungkan dua tabel atau lebih. Join dapat lagi dibagi menjadi sub- sub yaitu Inner Join dan Outer Join, Outer Join dapat lagi dibagi menjadi Left Join dan Right Join.
Baca Juga: MySQL - Having dan Where
1) Inner Join
Inner Join merupakan perintah yang dapat
menggabungkan atau lebih tabel dan digabungkan secara dua arah. Penggabungan
dua arah ini menyababkan tidak adanya data bernilai null yang tampil dari
hasil seleksi.
SELECT transaksi.id_trnasaksi, pelanggan.nama_pelanggan,
pegawai.nama_pegawai, barang.nama_barang,
transaksi.waktu_transaksi
FROM pelanggan
INNER JOIN transaksi ON
pelanggan.id_pelanggan=transaksi.id_pelanggan
INNER JOIN pegawai ON pegawai.id_pegawai=
transaksi.id_pegawai
INNER JOIN barang ON barang.id_barang=transaksi.id_barang
WHERE id_trnasaksi < 4;
Kode Program Inner Join merupakan sintak yang digunakan untuk menampilkan data dari tabel transaksi, pelanggan, barang dan pegawai yang memiliki id_trnasaksi kurang dari 4.
inner join |
Gambar Inner Join merupakan tampilan Kode Program Inner Join yang telah dijalankan. Gambar tersebut memperlihatkan tiga pelanggan yang memiliki id_pelanggan dibawah 3.
Baca Juga: MySQL - Union
2) Outer Join
Outer join merupakan perintah
untuk menggabungkan tabel secara satu arah, jadi karena penggabungan tabel
secara satu arah ini maka hasil penggabungan outer join menyebabkan adanya
data yang bernilai null. Terdapat dua jenis outer join yaitu left join
dan right join.
a. Left Join
Left join merupakan
perintah yang akan menampilkan semua data yang menjadi acuannya meskipun ada
data yang tidak menjadi acuan tersebut tidak memiliki nilai atau bernilai
null. Data yang menjadi acuan pada left join adalah data yang berada di
kiri.
SELECT transaksi.id_trnasaksi, pelanggan.nama_pelanggan,
pegawai.nama_pegawai, barang.nama_barang,
transaksi.waktu_transaksi
SELECT pelanggan.id_pelanggan,
pelanggan.nama_pelanggan, transaksi.id_trnasaksi
FROM pelanggan
LEFT JOIN transaksi ON
pelanggan.id_pelanggan=transaksi.id_pelanggan;
Kode Program Left Join merupakan sintak yang digunakan untuk menampilkan data id_pelanggan, nama_pelanggan, dan id_trnasaksi dari tabel pelanggan dan transaksi, dengan menggunakan data klom paling kiri sebagai acuan.
Left Join |
Gambar Left Join Kode merupakan tampilan Kode Program Left Join yang telah dijalankan. Gambar tersebut menampilkan penggabungan dari tabel pelanggan dan transaksi. Nilai null dalam kolom id_transaksi disebabkan oleh left join, karena tabel yang menjadi acuan adalah tabel paling kiri dan beberapa pelanggan belum pernah melakukan transaksi sehingga data pada id_transaksi ada yang bernilai null
Baca Juga: MySQL - Nested Query , Group by, Order by dan Alias.
b. Right Join
Right join merupakan perintah yang sama dengan left join, hanya saja pada right join data yang menjadi acuan adalah data yang berada paling kanan. Data akan ditampilkan sesuai dengan data acuan walaupun ada data yang tidak menjadi acuan memiliki nilai null atau tidak memiliki nilai.
SELECT transaksi.`id_trnasaksi`,
pelanggan.`nama_pelanggan`, pelanggan.`id_pelanggan`
FROM transaksi
RIGHT JOIN pelanggan ON
transaksi.`id_pelanggan`=pelanggan.`id_pelanggan`;
Kode Program Right Join merupakan sintak yang digunakan untuk nama_pelanggan, id_pelanggan, id_trnasaksi dari tabel pelanggan dan transaksi, dengan menjadikan tabel paling kanan sebagai tabel acuan
Right Join |
Gambar Right Join merupakan tampilan Kode Program Right Join yang sudah dijalankan. Data yang ditampilakan dari gambar tersebut merupakan kebalikan dari data yang ditampilkan pada left join. Data pada Gambar Right Join meletakan id_pelanggan dikolom paling kanan, ini untuk membuktikan kebenranan dari right join dimana data yang akan digunakan sebagai acuan adalah data yang paling kanan.
komentar dengan bijak ya :)
please write comments wisely :)
EmoticonEmoticon