Seperti yang kita tahu,
MySQL merupakan salah satu software database relasional dimana tabel-tabel yang
terdapat di dalam databasenya saling terhubung sama lain. Untuk menampilkan
data dari tabel-tabel yang saling terhubung, MySQL menyediakan fungsi JOIN yang digunakan
untuk mengambil data dari beberapa tabel untuk digabungkan menjadi satu set
data. Fungsi JOIN sendiri terdiri dari beberapa tipe seperti INNER JOIN, OUTER JOIN, LEFT JOIN dan RIGHT JOIN.
Di bawah ini kita akan
menggunakan tabel kelas yang memiliki relasi dengan tabel matakuliah dan tabel
dosen dengan struktur tabel sebagai berikut:
INNER
JOIN atau CROSS JOIN
INNER JOIN atau CROSS JOIN digunakan untuk menggabungkan beberapa tabel
berdasarkan data yang sama yang terdapat pada tabel yang akan digabungkan. Untuk
penulisannya sendiri kita bisa gunakan klausa INNER
JOIN, CROSS JOIN atau cukup dengan klausa JOIN saja.
Dibawah ini kita akan menampilkan nama_matakuliah pada tabel matakuliah, dan tahun_ajaran pada tabel kelas dimana id_matakuliah pada tabel matakuliah sama dengan id_matakuliah pada tabel kelas dengan klausa JOIN sebagai berikut:
OUTER
JOIN
OUTER JOIN digunakan untuk menggabungkan beberapa tabel
berdasarkan pada data yang cocok atau tidak cocok. Berbeda dengan INNER JOIN, OUTER JOIN hanya akan
menampilkan seluruh data pada salah satu tabel saja. Sedangkan untuk tabel
lainnya hanya akan ditampilkan jika data pada tabel tersebut tersedia pada
tabel pertama. OUTER JOIN terdiri dari beberapa tipe yaitu:
LEFT
JOIN
Di klausa LEFT JOIN, data pada tabel
sebelah kiri akan ditampilkan seluruhnya. Sedangkan untuk tabel sebelah kanan
sendiri hanya akan ditampilkan jika data pada tabel tersebut muncul di tabel
sebelah kiri.
Di bawah ini kita akan tampilkan kolom nama_matakuliah dan sks pada tabel matakuliah, kemudian kita gabungkan dengan kolom tahun_ajaran pada tabel kelas sebagai berikut:
Dari hasil query diatas
kita bisa lihat bahwa tabel sebelah kiri (nama_matakuliah dan sks dari tabel matakuliah) akan ditampilkan semua. Sedangkan
untuk tabel sebelah kanan(tahun_ajaran dari tabel kelas) hanya akan ditampilkan
data yang id_pelanggan nya muncul pada tabel kelas.
RIGHT
JOIN
Klausa LEFT JOIN dan RIGHT JOIN sebenarnya sama. Yang
membedakan adalah letak data yang ditampilkan seluruhnya dengan data yang hanya
ditampilkan sebagian. Jika LEFT JOIN menampilkan seluruh data pada tabel sebelah kiri, maka
RIGHT JOIN
akan menampilkan seluruh data yang ada pada tabel sebelah kanan.
Di bawah ini kita akan tampilkan kolom kelas dan tahun_ajaran pada tabel kelas, kemudian kita gabungkan dengan kolom nama_matakuliah dan sks pada tabel matakuliah sebagai berikut:
Dari hasil query diatas kita bisa lihat bahwa tabel sebelah kiri (kelas dan tahun_ajaran dari tabel kelas) akan ditampilkan sebagian. Sedangkan untuk tabel sebelah kanan(nama_matakuliah dan sks dari tabel matakuliah) akan ditampilkan seluruh datanya.
0 Komentar