Friday, April 9, 2021

PENGGUNAAN INNER JOIN, LEFT JOIN dan RIGHT JOIN pada 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 dinormalisasi, salah satu alasannya untuk menghindari redundansi data.Pada bahasa SQL, operasi join atau penggabungan antar table adalah operasi dasar database relasional yang sangat penting. Untuk mendukung perancangan database relasional yang baik. Seorang programmer biasanya menggunakan join untuk mengidentifikasi record (baris) untuk bergabung. Jika predikat yang dievaluasi benar, record gabungan kemudian diproduksi dalam format yang diharapkan. JOIN sangat penting untuk Anda pahami, jika ingin menghasilkan output data yang valid, menjamin integritas data, dan meminimalisir redudansi data.  Anda akan kesulitan menghubungan antar table jika anda tidak memahami konsep JOIN ini. Jadi, sangatlah penting bagi anda untuk benar-benar memahami konsep join ini dengan baik.

Menggabungkan 4 Tabel dengan JOIN

SELECT tbldivisi.ket_divisi, tblpegawai.nama, tbljabatan.ket_jabatan, tblpenempatan.id_penempatan
FROM tblpegawai
JOIN tbljabatan ON tblpegawai.id_jabatan = tbljabatan.id_jabatan
JOIN tbldivisi ON tblpegawai.id_divisi = tbldivisi.id_divisi
JOIN tblpenempatan ON tblpegawai.id_penempatan = tblpenempatan.id_penempatan

Memunculkan nama dari tabel pegawai, ket_jabatan dari tabel jabatan, ket_divisi dari tabel divisi dengan SUB-QUERY


SELECT nama,(SELECT ket_jabatan FROM tbljabatan WHERE id_jabatan=tblpegawai.id_jabatan) AS jabatan,
(SELECT ket_divisi FROM tbl_divisi WHERE id_divisi = tblpegawai.id_divisi) AS divisi FROM tbl_pegawai

Menggabungkan 5 tabel dengan keadaan entity di tabel gaji tidak ada di tabel pegawai. (tidak ter-relasi) mengunakan JOIN


SELECT tblpegawai.id_pegawai, tbldivisi.ket_divisi, tbljabatan.ket_jabatan, tblpenempatan.ket_penempatan, tblgaji.jml_gaji
FROM tblpegawai
JOIN tbldivisi ON tblpegawai.id_divisi = tbldivisi.id_divisi
JOIN tbljabatan ON tblpegawai.id_jabatan = tbljabatan.id_jabatan
JOIN tblpenempatan ON tblpegawai.id_penempatan = tblpenempatan.id_penempatan
LEFT JOIN tblgaji ON tbldivisi.id_divisi = tblgaji.id_gaji

0 comments:

Post a Comment