Sabtu, 27 Oktober 2012

Pengertian, fungsi dan penggunaan Join pada Oracle

Join merupakan penggambaran relasi yang terjadi antar suatu tabel dengan tabel lainya. Perintah join dibagi menjadi 3 yaitu :
  1. Inner Join
  2. Outer Join 
  3. Left Join
  4. Right Join

1. Inner Join

Dengan inner join, tabel akan digabungkan dua arah, sehingga tidak ada data yang NULL di satu sisi. Untuk menggunakan inner join, kita dapat menuliskannya dengan format seperti dibawah ini :
SELECT tabel1.*, tabel2.* FROM tabel1 INNER JOIN tabel2 ON tabel1.PK=tabel2.FK;
Contoh dibwah ini merupakan contoh perintah SQL untuk menggabungkan tabel pelanggan dan pesan:
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan INNER JOIN pesan ONpelanggan.id_pelanggan=pesan.id_pelanggan;

2. Outer Join

Dengan outer join, tabel akan digabungkan satu arah, sehingga memungkinkan ada data yang NULL (kosong) di satu sisi. Sebagai contoh, kita akan menggabungkan tabel pelanggan dan pesan dimana kita akan menampilkan daftar pelanggan yang pernah melakukan pemesanan (transaksi). Outer Join terbagi menjadi 2 (dua) yaitu LEFT JOIN dan RIGHT.

3. Left Join

Untuk menggunakan left join, kita dapat menuliskannya dengan format seperti dibawah ini :
SELECT tabel1.*, tabel2.*
FROM tabel1 LEFT JOIN tabel2
ON tabel1.PK=tabel2.FK;
Contoh dibwah ini merupakan contoh perintah SQL untuk menggabungkan tabel pelanggan dan pesan:
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan,
pesan.id_pesan, pesan.tgl_pesan
FROM pelanggan LEFT JOIN pesan
ON pelanggan.id_pelanggan=pesan.id_pelanggan;
Berbeda dengan hasil sebelumnya (inner join), penggunaan left join akan menampilkan juga data pelanggan dengan id P0003, walaupun pelanggan tersebut belum pernah bertransaksi. Dan pada kolom id_pesan dan tgl_pesan untuk pelanggan P0003 isinya NULL, artinya di tabel kanan (pesan) pelanggan tersebut tidak ada.

4. Right Join

Untuk menggunakan right join, kita dapat menuliskannya dengan format seperti dibawah ini :
SELECT tabel1.*, tabel2.*
FROM tabel1 RIGHT JOIN tabel2
ON tabel1.PK=tabel2.FK;
Contoh dibwah ini merupakan contoh perintah SQL untuk menggabungkan tabel pelanggan dan pesan:
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan RIGHT JOIN pesan
ON pelanggan.id_pelanggan=pesan.id_pelanggan;
Dengan right join, tabel yang menjadi acuan adalah tabel sebelah kanan (tabel pesan), jadi semua isi tabel pesan akan ditampilkan. Jika data pelanggan tidak ada di tabel pelanggan, maka isi tabel pesan tetap ditampilkan.

1 komentar: