JOIN DI BASIS DATA
🔹 Pengertian JOIN
JOIN adalah perintah SQL yang digunakan untuk menggabungkan data dari dua atau lebih tabel berdasarkan kolom yang saling berhubungan (biasanya primary key dan foreign key).
Contoh kasus:
-
Tabel
barang
(daftar barang dan stok). -
Tabel
transaksi
(catatan penjualan barang).
Kalau kita ingin melihat nama barang + jumlah terjual dalam satu tabel hasil query → pakai JOIN.
🔹 Macam-Macam JOIN
-
INNER JOIN
-
Mengambil hanya data yang cocok/beririsan di kedua tabel.
-
Contoh: hanya menampilkan transaksi yang punya data barang valid.
-
-
LEFT JOIN (LEFT OUTER JOIN)
-
Mengambil semua data dari tabel kiri, meskipun tidak ada pasangan di tabel kanan.
-
Jika tidak ada pasangan, kolom dari tabel kanan akan bernilai NULL.
-
-
RIGHT JOIN (RIGHT OUTER JOIN)
-
Kebalikan dari LEFT JOIN.
-
Mengambil semua data dari tabel kanan, meskipun tidak ada pasangan di tabel kiri.
-
-
FULL JOIN (FULL OUTER JOIN)
-
Mengambil semua data dari kedua tabel, baik yang cocok maupun tidak cocok.
-
MySQL tidak mendukung langsung
FULL JOIN
, tapi bisa diganti denganUNION
dariLEFT JOIN
danRIGHT JOIN
.
-
-
CROSS JOIN
-
Menghasilkan perkalian Cartesian dari dua tabel (setiap baris tabel A dipasangkan dengan setiap baris tabel B).
-
Jarang dipakai kecuali untuk kasus khusus.
-
🔹 Fungsi JOIN
-
Menggabungkan data dari beberapa tabel agar lebih informatif.
-
Mengurangi duplikasi data (karena cukup disimpan di tabel berbeda lalu digabung saat query).
-
Memudahkan analisis (contoh: melihat barang + nama pembeli dari tabel berbeda).
🔹 Kelebihan JOIN
✅ Menghemat penyimpanan (data tidak perlu diulang di tiap tabel).
✅ Menjaga integritas data (konsisten antar tabel).
✅ Memudahkan pengambilan laporan yang kompleks.
🔹 Kekurangan JOIN
❌ Query bisa lambat jika tabel besar dan join banyak.
❌ Membutuhkan pemahaman relasi antar tabel.
❌ Bisa membingungkan kalau relasi tabel tidak dirancang dengan baik.
📌 Jadi, JOIN itu alat penting dalam basis data relasional untuk menghubungkan beberapa tabel agar informasi lebih lengkap dan terstruktur.
Komentar
Posting Komentar