JOIN digunakan untuk menggabungkan dua atau lebih tabel berdasarkan kolom yang berhubungan (biasanya kunci primer & kunci asing).
🔑 Jenis-jenis JOIN
1. INNER JOIN
👉 Hanya menampilkan data yang cocok di kedua tabel.
-
Kalau ada transaksi tapi bukunya tidak ada → tidak tampil.
-
Kalau ada buku tapi belum dipinjam → tidak tampil.
2. LEFT JOIN (LEFT OUTER JOIN)
👉 Ambil semua data dari tabel kiri (transaksi).
-
Jika cocok di
buku→ tampil. -
Jika tidak cocok → kolom
bukubernilai NULL.
3. RIGHT JOIN (RIGHT OUTER JOIN)
👉 Ambil semua data dari tabel kanan (buku).
-
Jika cocok di
transaksi→ tampil. -
Jika tidak cocok → kolom
transaksibernilai NULL.
4. FULL JOIN (FULL OUTER JOIN) ⚠️
👉 Menggabungkan LEFT JOIN + RIGHT JOIN.
-
Semua data dari kedua tabel akan tampil.
-
Jika tidak cocok → sisi yang tidak punya data akan NULL.
Catatan: MySQL tidak langsung mendukung FULL JOIN, biasanya diganti dengan UNION dari LEFT JOIN + RIGHT JOIN.
5. CROSS JOIN
👉 Menghasilkan perkalian Cartesian (semua baris transaksi dikombinasikan dengan semua baris buku).
-
Jarang dipakai, kecuali untuk keperluan khusus (misalnya kombinasi semua kemungkinan).
4.Insert kepada 2 tabel dibawah
5.Pastikan tabel transaksi memiliki struktur seperti berikut dan buat relasi dari foreign_key ke primary key yang sesuai di tabel lain.
7.Lalu kita bisa tes menggunakan join dari transaksi yang menerima data dari tabel peminjam berdasarkan id_peminjam lalu dapat dicocokkan berdasarkan peminjam yang telah melakukan transaksi melalui id_peminjam yang tersimpan ke dalam tabel transaksi.Atau bisa juga gabungkan 3 tabel seperti ditambahkan tabel buku lalu dicocokkan dengan tabel di transaksi.
8.Lanjut kita bisa menggunakan Left join yang menggabungkan data dari transaksi dan buku lalu dicocokan dengan apa yang ada di tabel transaksi kepada tabel buku,jika di transaksi tidak ada kd_buku maka bernilai null di buku.
9.Coba Right join yang berlaku sebaliknya yakni menampilkan data yang cocok di tabel transaksi dan jika di tabel transaksi tidak terdapat data yang ada di tabel buku maka akan bernilai null di transaksi.




















Tidak ada komentar:
Posting Komentar