Join Table MySQL

Join adalah penggabungan table yang dilakukan melalui kolom / key tertentu yang memiliki nilai terkait untuk mendapatkan satu set data dengan informasi lengkap. Lengkap disini artinya kolom data didapatkan dari kolom-kolom hasil join antar table tersebut. Join diperlukan karena perancangan table pada sistem transaksional kebanyakan di-normalisasi, salah satu alasannya untuk menghindari redundansi. Tipe-tipe join yang akan dibahas adalah :
  • LEFT JOIN
  • RIGHT JOIN
  • INNER JOIN

Sebelum membahas jenis-jenis join table MySQL saya sudah membuat tabel yang akan kita gunakan sebagai contoh. Berikut tabelnya :

1. LEFT JOIN

LEFT JOIN adalah relasi antar tabel, namun query yang ditampilkan adalah mengacu pada tabel yang sebelah kiri / tabel utama. Perintah mysql yang saya gunakan adalah "SELECT tbl_pustakawan.nama, tbl_pustakawan.alamat, tbl_agama.nama_agama FROM tbl_pustakawan LEFT JOIN tbl_agama ON tbl_pustakawan.id_agama = tbl_agama.id;".
Pada tabel diatas dimana nama dan alamat dari para pustakawan ditampilkan semuanya sedangkan di kolum agama hanya di tampilkan beberapa data yang memiliki relasi dengan tabel nama para pustakawan dan menampilkan null karena id agama di tabel pustakawan tidak ada datanya di tabel agama.

2. RIGHT JOIN

RIGHT JOIN adalah penggabungan dua tabel atau lebih dimana right join merupakan kebalikan dari left join. RIGHT JOIN memiliki fungsi yang bertolak belakang dengan left join, dimana right join akan menampilkan data secara keseluruhan pada tabel kedua (kanan). Perintah mysql yang saya gunakan sebagai contoh adalah "SELECT tbl_pustakawan.nama, tbl_pustakawan.alamat, tbl_agama.nama_agama FROM tbl_pustakawan RIGHT JOIN tbl_agama ON tbl_pustakawan.id_agama = tbl_agama.id;"
Pada tabel diatas tabel agama ditampilkan semua datanya dan dari tabel agama menampilkannya juga sesuai dengan relasi dengan tabel pustakawan. Jadi walaupun dari tabel pustakawan tidak ada yang memiliki relasi dengan beberapa agama, tapi tabel agama tetap menampilkan keseluruhan data yang dimilikinya sehingga dari tabel pustakawan yang tidak memiliki relasi maka bernilai null.

3. INNER JOIN

INNER JOIN merupakan metode penggabungan dua tabel atau lebih dimana data yang tampil merupakan hasil dari Tabel A dan Tabel B yang benilai sama. INNER JOIN bersifat dua arah Jadi data yang tampil tidak ada yang NULL. Perintah mysql yang saya gunakan untuk inner join adalah "SELECT tbl_pustakawan.nama, tbl_pustakawan.alamat, tbl_agama.nama_agama FROM tbl_pustakawan INNER JOIN tbl_agama ON tbl_pustakawan.id_agama = tbl_agama.id;"

Footer Right