Join Antar Tabel
M. Saefudin SKom, MMSI 1
Kompetensi Dasar: 1.
Memahami definisi join
2.
Memahami jenis operasi join
3.
Memahami penerapan Cross Join/Cartesian Join, Inner Join dan Outer Join
Indikator: 1.
Mampu menjelaskan manfaat dari operasi join
2.
Memahami dan mampu menggunakan Cross Join/Cartesian Join, Inner Join dan Outer Join terhadap basis data
Definisi Join Join merupakan sebuah operasi yang digunakan untuk mendapatkan data gabungan dari dua tabel atau lebih. Operasi ini digunakan dalam perintah SELECT dan biasanya dipakai untuk memperoleh detail data dari tabel-tabel yang saling terkait (memiliki relasi). Misalnya karena tabel mahasiswa hanya memuat kode_kelas saja tanpa nama kelas maka kita harus melakukan join tabel mahasiswa dengan tabel kelas yang memuat kolom nama_kelas.
3
Jenis Operasi Join 1. Cross Join / Cartesian Join 2. Inner Join 3. Outer Join
4
Cross Join / Cartesian Join Menghasilkan kombinasi semua baris yang terdapat dalam tabel-tabel yang digabungkan baik yang tidak berpasangan maupun yang berpasangan.
5
Tabel Mahasiswa
Tabel KRS
Tabel Mata_kuliah
6
Cross Join Tabel Mahasiswa dan Tabel Mata_Kuliah
Pada kenyataannya join jenis ini jarang berguna dan dapat menimbulkan proses yang sangat lama sekiranya masing-masing tabel mengandung jumlah data yang besar. Meskipun begitu jenis inilah yang merupakan dasar dari join antar tabel.
Inner Join Join jenis ini akan menghasilkan output yang berupa kombinasi baris-baris yang memiliki pasangan saja. Kombinasi baris yang bukan pasangan akan dieliminasi. Baris-baris yang tidak memiliki pasangan pada tabel lainnya tidak dimunculkan.
Yang perlu diperhatikan ketika akan menjoinkan beberapa tabel: 1. Tentukan kolom-kolom yang akan ditampilkan. 2. Kelompokkan kolom-kolom tersebut berdasarkan tabel. 3. Tentukan kolom yang sama (saling mereferensi) dari tabel-tabel yang akan dijoinkan. 4. Kolom yang sama tersebut menjadi kondisi join dari tabel yang dipilih 5. Mengaliaskan nama tabel. 6. Bila diperlukan tentukan kondisi atau syarat yang harus ada.
Inner Join Style Lama
INNER JOIN yang dinyatakan memakai kondisi WHERE dikenal sebagai inner-join style lama.
Inner Join Style Baru
Keyword INNER dapat tidak dituliskan
Alias tabel Kita juga bisa memilih kolom yang akan ditampilkan, di samping itu supaya penulisannya lebih ringkas maka nama tabel dibuatkan aliasnya. Alias tabel merupakan cara yang digunakan untuk mempersingkat penulisan nama-nama tabel. Alias tabel berarti mengganti nama tabel dengan nama yang lebih singkat (biasanya kode huruf). Biasa dipakai untuk menampilkan beberapa kolom dari beberapa tabel yang akan dijoinkan, sehingga mempermudah dan mempercepat dalam penulisannya.
Menampilkan Informasi Mata Kuliah, Tahun Ajaran serta Nilai yang diperoleh Setiap Mahasiswa
Outer Join Hampir sama dengan inner join hanya saja baris yang tidak memiliki pasangan tetap akan ditampilkan. Join jenis ini dibagi lagi menjadi: 1. Left Outer Join 2. Right Outer Join
Left Outer Join Bila baris pada tabel yang terletak di sebelah kiri operator Left Outer Join ada yang tidak memiliki pasangan dengan tabel yang terletak di kanan operator Left Outer Join, baris ini tetap disertakan dalam hasil penggabungan. Diberikan contoh berikut yang melibatkan tabel Mahasiswa dan KRS.
Perbedaan CROSS JOIN, INNER JOIN & LEFT JOIN
Right Outer Join Bila baris pada tabel yang terletak di sebelah kanan operator RIGHT OUTER JOIN ada yang tidak memiliki pasangan dengan tabel yang terletak di kanan operator RIGHT OUTER JOIN, baris ini tetap disertakan dalam hasil penggabungan.
Tabel Mahasiswa
Tabel Kelas
Bandingkan dengan Inner Join & Cross Join
Full Outer Join Join ini merupakan gabungan dari Left Outer Join dan Right Outer Join.
Tabel Jurusan
Tabel Kelas
Latihan KHS nim ** kode_MK ** nilai tahun_ajaran Sem ester
Mahasiswa nim * nam a_m hs jk nam a jalan kode_pos ** kode_agam a** kelas ** kode_ortu**
Mata_Kuliah kode_MK * nama_MK SKS Kode_Prasyarat kode_MK **
Jadwal Kode_Dosen ** Kelas
Ruang * Hari * Id_Jam **
Kelas * Dosen_Wali** Kode_Jurusan**
Ortu
Jurusan Kode_Jurus an* Nam a_J urusan Ketua**
kode_ortu* nam a_ortu nam a jalan kode_pos** kode_agam a**
Alamat
Agama kode_agam a* agam a
kode_pos* kec am atan kabupaten provinsi
Waktu
Dosen Kode_Dos en * nam a_dosen jk nam a jalan kode_pos** kode_agam a**
Id_J am * Jam _Mulai Jam _Keluar
Latihan 1. Buatlah perintah untuk menampilkan jadwal kuliah seorang dosen pengampu, misalnya dosen dengan kode ‘1122334455’ atau dosen bernama ‘Utami’ 2. Buatlah perintah untuk menampilkan jadwal kuliah sebuah mata kuliah, misalnya mata kuliah dengan kode ‘DT006’ atau mata kuliah ‘Basis Data’ 3. Buatlah perintah untuk menampilkan jadwal kuliah suatu hari 4. Buatlah perintah untuk menampilkan jadwal kuliah suatu kelas 5. Buatlah perintah untuk menampilkan jadwal praktikum
Latihan 6. Buatlah perintah untuk menampilkan data dosen (kode dosen dan namanya) yang tidak mengajar 7. Tuliskan perintah untuk menampilkan jumlah jadwal mengajar dari tiap dosen dalam satu minggu. 8. Tuliskan perintah untuk menampilkan nama dosen yang mengajar hari Senin. 9. Tuliskan perintah untuk menampilkan nama matakuliah dan kelas yang dijadwalkan pada hari Rabu.
Latihan 10. Buatlah perintah untuk menampilkan data dosen (kode dosen dan namanya) yang menjabat sebagai ketua jurusan sekaligus menjadi dosen wali. 11. Buatlah perintah untuk menampilkan data dosen (kode dosen dan namanya) yang tidak menjabat sebagai ketua jurusan sekaligus menjadi dosen wali. 12. Buatlah perintah untuk menampilkan data dosen (kode dosen dan namanya) yang tidak menjadi dosen wali.
Latihan 13. Buatlah perintah untuk menampilkan presensi kelas 14. Buatlah perintah untuk menampilkan daftar mahasiswa yang dibimbing seorang dosen wali 15. Buatlah perintah untuk menampilkan daftar mahasiswa suatu jurusan 16. Buatlah perintah untuk menampilkan daftar mahasiswa suatu jenjang program studi