Menggabungkan Beberapa Tabel MySQL

 

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.

Posting Komentar

0 Komentar