1 of 15

Mata Kuliah : BASIS DATA�Minggu ke 11

2 of 15

Tujuan Perkuliahan

Mahasiswa mampu mendesain SQL (Structured Query Language) .

3 of 15

Materi Pembelajaran

  • Join

4 of 15

  • Secara umum, Operator Join pada SQL digunakan untuk menggabungkan data dari 2 atau lebih tabel pada basis data. Pada SQL, dikenal beberapa Operator Join, yaitu:
    • Inner Join
    • Left Outer Join
    • Right Outer Join
    • Cross Join

Operator Join

5 of 15

  • Operator INNER JOIN digunakan untuk menggabungkan data dari dua tabel dengan hanya menampilkan irisan dari kedua tabel tersebut. Sebagai contoh, terdapat 2 tabel bernama ambil_mk dan mata_kuliah, seperti di bawah ini:

Inner Join

Tabel ambil_mk

Tabel mata_kuliah

6 of 15

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

7 of 15

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).

8 of 15

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

9 of 15

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;

10 of 15

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

11 of 15

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.

12 of 15

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;

13 of 15

Left Outer Join

Hasil query tersebut adalah:

14 of 15

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;

15 of 15