Mata Kuliah : BASIS DATA�Minggu ke 11
Tujuan Perkuliahan
Mahasiswa mampu mendesain SQL (Structured Query Language) .
Materi Pembelajaran
Operator Join
Inner Join
Tabel ambil_mk
Tabel mata_kuliah
Untuk menampilkan NIM mahasiswa dan nama mata kuliah yang diambil, kita perlu melakukan penggabungan terhadap kedua tabel dengan menggunakan INNER JOIN.
Contoh:
SELECT a.nim, b.nama_mk
FROM ambil_mk a
INNER JOIN mata_kuliah b
ON a.kode_mk = b.kode_mk;
Pada query di atas, klausa ON diikuti oleh kolom yang merupakan foreign key. Pada contoh di atas, kedua tabel memiliki sebuah kolom yang merupakan foreign key, yaitu kode_mk
Inner Join
Hasil dari query tersebut adalah:
Inner Join
Hasil dari query menampilkan hanya nim mahasiswa yang sudah mengambil mata kuliah dan nama mata kuliah yang sudah diambil (tidak semua nim dan nama mata kuliah).
Kita juga dapat menggunakan Operator INNER JOIN yang melibatkan 3 tabel, contohnya untuk menampilkan nama dosen dan mata kuliah yang diampunya dan sudah diambil, yaitu:
SELECT b.nama, c.nama_mk
FROM ambil_mk a INNER JOIN dosen b ON a.nip=b.nip INNER JOIN mata_kuliah c ON a.kode_mk = c.kode_mk;
Inner Join
Right Outer Join
Berbeda dengan Operator INNER JOIN, Operator RIGHT OUTER JOIN digunakan untuk menggabungkan dua tabel dengan menampilkan seluruh data pada tabel yang ada di sebelah kanan Operator RIGHT OUTER JOIN.
Sebagai contoh, kita akan menggabungkan data dari dua tabel pada bagian sebelumnya untuk menampilkan data nim dan nama mata_kuliah dengan menampilkan seluruh data pada Tabel mata_kuliah.
Contoh:
SELECT a.nim, b.nama_mk
FROM ambil_mk a
RIGHT OUTER JOIN mata_kuliah b
ON a.kode_mk = b.kode_mk;
Sebagaimana dapat dilihat pada tabel di atas, query tersebut menggabungkan data dari Tabel ambil_mk dan Tabel mata_kuliah dengan menampilkan seluruh data pada Tabel mata_kuliah. Pada tabel di atas, data yang kosong pada Tabel ambil_mk menghasilkan keluaran NULL.
Inner Join
Hasil dari query slide sebelumnya
Left Outer Join
Perintah LEFT OUTER JOIN digunakan untuk menggabungkan dua tabel dan menampilkan semua data pada tabel yang ada di sebelah kiri Operator LEFT OUTER JOIN.
Sebagai contoh, selain Tabel ambil_mk dan Tabel mata_kuliah, terdapat sebuah tabel yang berisi data dosen yang bernama Tabel dosen.
Left Outer Join
Untuk menampilkan data nama dosen dan kode mata kuliah yang diampunya dan sudah diambil dengan menampilkan semua data dosen, kita dapat menggabungkan data Tabel dosen dan Tabel ambil_mk dengan Operator LEFT OUTER JOIN.
Contoh:
SELECT a.nama, b.kode_mk
FROM dosen a
LEFT OUTER JOIN ambil_mk b
ON a.nip = b.nip;
Left Outer Join
Hasil query tersebut adalah:
CROSS JOIN
Perintah join juga dapat digunakan untuk melakukan perkalian kartesian antara 2 tabel, yaitu dengan menggunakan Operator CROSS JOIN.
Contoh:
Untuk melakukan perkalian kartesian antara field nama pada Tabel mahasiswa dan field nama_mk pada Tabel mata_kuliah, kita dapat mengunakan Operator CROSS JOIN. Dengan demikian, setiap nama mahasiswa akan berpasangan dengan setiap nama mata kuliah yang ada.
SELECT a.nama, b.nama_mk
FROM mahasiswa a
CROSS JOIN mata_kuliah b;