BAB 11: JOIN Tabel MySQL Lengkap – INNER JOIN, LEFT JOIN, RIGHT JOIN, CROSS JOIN

BAB 11: JOIN Tabel MySQL Lengkap – INNER JOIN, LEFT JOIN, RIGHT JOIN, CROSS JOIN

JOIN adalah perintah SQL yang digunakan untuk menggabungkan data dari dua atau lebih tabel berdasarkan kolom yang saling berhubungan.

JOIN sangat penting dalam database relasional karena data biasanya disimpan di tabel yang terpisah untuk menghindari duplikasi.

JOIN umumnya menggunakan Primary Key dan Foreign Key sebagai penghubung.


2. INNER JOIN

INNER JOIN menampilkan data yang memiliki kecocokan di kedua tabel.

Sintaks:

SELECT kolom
FROM tabel1
INNER JOIN tabel2 ON kondisi;

Contoh INNER JOIN:

SELECT mahasiswa.nama, jurusan.nama_jurusan
FROM mahasiswa
INNER JOIN jurusan ON mahasiswa.jurusan_id = jurusan.id;

Hanya data mahasiswa yang memiliki jurusan yang akan ditampilkan.


3. LEFT JOIN

LEFT JOIN menampilkan semua data dari tabel kiri, meskipun tidak memiliki pasangan di tabel kanan.

Sintaks:

SELECT kolom
FROM tabel1
LEFT JOIN tabel2 ON kondisi;

Contoh LEFT JOIN:

SELECT mahasiswa.nama, jurusan.nama_jurusan
FROM mahasiswa
LEFT JOIN jurusan ON mahasiswa.jurusan_id = jurusan.id;

Mahasiswa tanpa jurusan tetap akan tampil dengan nilai NULL.


4. RIGHT JOIN

RIGHT JOIN menampilkan semua data dari tabel kanan, meskipun tidak memiliki pasangan di tabel kiri.

Sintaks:

SELECT kolom
FROM tabel1
RIGHT JOIN tabel2 ON kondisi;

Contoh RIGHT JOIN:

SELECT mahasiswa.nama, jurusan.nama_jurusan
FROM mahasiswa
RIGHT JOIN jurusan ON mahasiswa.jurusan_id = jurusan.id;

Jurusan tanpa mahasiswa tetap akan ditampilkan.


5. CROSS JOIN

CROSS JOIN menghasilkan kombinasi semua data dari kedua tabel (perkalian Cartesian).

Sintaks:

SELECT kolom
FROM tabel1
CROSS JOIN tabel2;

Contoh CROSS JOIN:

SELECT mahasiswa.nama, mata_kuliah.nama_mk
FROM mahasiswa
CROSS JOIN mata_kuliah;

Catatan:
Gunakan CROSS JOIN dengan hati-hati karena jumlah data bisa sangat besar.


6. JOIN Lebih dari Dua Tabel

JOIN dapat digunakan untuk menggabungkan lebih dari dua tabel sekaligus.

Contoh JOIN tiga tabel:

SELECT 
    mahasiswa.nama,
    mata_kuliah.nama_mk,
    dosen.nama_dosen
FROM krs
JOIN mahasiswa ON krs.mahasiswa_id = mahasiswa.id
JOIN mata_kuliah ON krs.mata_kuliah_id = mata_kuliah.id
JOIN dosen ON mata_kuliah.dosen_id = dosen.id;

7. Alias pada JOIN

Alias digunakan untuk mempersingkat penulisan nama tabel.

SELECT m.nama, j.nama_jurusan
FROM mahasiswa AS m
JOIN jurusan AS j ON m.jurusan_id = j.id;

Kesimpulan

JOIN merupakan perintah penting dalam MySQL untuk menggabungkan data dari beberapa tabel.

Dengan memahami INNER JOIN, LEFT JOIN, RIGHT JOIN, CROSS JOIN, serta JOIN lebih dari dua tabel, pengguna dapat mengambil data secara kompleks dan terstruktur sesuai kebutuhan aplikasi.