Main Menu

Belajar SQL Dasar #12: JOIN (INNER, LEFT, RIGHT, FULL)


👍 0 ❤️ 0 💡 0 🔥 0 🙌 0 🥳 0
Belajar SQL Dasar #12: JOIN (INNER, LEFT, RIGHT, FULL)

Halo teman-teman semuanya, di seri kedua belas ini kita akan belajar tentang JOIN dalam SQL, yaitu teknik untuk menggabungkan data dari dua atau lebih tabel berdasarkan kolom yang saling berhubungan. JOIN adalah konsep penting dalam relational database, karena memungkinkan kita menyatukan data yang tersebar di berbagai tabel menjadi satu hasil yang utuh.

Contoh Tabel

Untuk mempermudah latihan, kita akan gunakan dua tabel berikut:

  1. Tabel jurusan

    id nama_jurusan
    1 IPA
    2 IPS
    3 Bahasa
  2. Tabel siswa

    id nama kelas jurusan_id
    1 Ali XII IPA 1 1
    2 Budi XI IPS 2 2
    3 Citra XII IPA 3 1
    4 Dewi X IPA 2 NULL

1. INNER JOIN

INNER JOIN hanya menampilkan data yang cocok di kedua tabel.

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

Hasil:

nama kelas nama_jurusan
Ali XII IPA 1 IPA
Budi XI IPS 2 IPS
Citra XII IPA 3 IPA

Dewi tidak ditampilkan karena jurusan_id-nya bernilai NULL.

2. LEFT JOIN

LEFT JOIN menampilkan semua data dari tabel kiri (siswa) meskipun tidak ada pasangan di tabel kanan (jurusan).

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

Hasil:

nama kelas nama_jurusan
Ali XII IPA 1 IPA
Budi XI IPS 2 IPS
Citra XII IPA 3 IPA
Dewi X IPA 2 NULL

Dewi tetap ditampilkan, meskipun tidak memiliki jurusan.

3. RIGHT JOIN

RIGHT JOIN menampilkan semua data dari tabel kanan (jurusan) meskipun tidak ada pasangan di tabel kiri (siswa).

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

Hasil:

nama nama_jurusan
Ali IPA
Citra IPA
Budi IPS
NULL Bahasa

Jurusan Bahasa tetap muncul meskipun belum ada siswa yang memilihnya.

4. FULL JOIN (Simulasi)

SQL standar seperti MySQL belum mendukung FULL JOIN secara langsung, tapi kita bisa mensimulasikannya menggunakan UNION dari LEFT dan RIGHT JOIN:

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

UNION

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

Hasil:

nama nama_jurusan
Ali IPA
Citra IPA
Budi IPS
Dewi NULL
NULL Bahasa

Menampilkan semua data dari kedua tabel — baik yang cocok maupun yang tidak cocok.

Kesimpulan

Dalam artikel ini, kita sudah belajar tentang empat jenis JOIN utama dalam SQL:

  • INNER JOIN: hanya data yang cocok di kedua tabel
  • LEFT JOIN: semua data dari tabel kiri, meskipun tidak cocok
  • RIGHT JOIN: semua data dari tabel kanan, meskipun tidak cocok
  • FULL JOIN: semua data dari kedua tabel (simulasi di MySQL)

Dengan JOIN, kita bisa menggabungkan informasi dari berbagai tabel secara fleksibel dan efisien.

Di artikel selanjutnya, kita akan membahas tentang subquery — yaitu query di dalam query, yang sering digunakan untuk mengambil data secara dinamis berdasarkan kondisi tertentu.

Terima Kasih


SQL
Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami