Jumat, 22 Desember 2017

Functions Join pada Oracle 10g

Function 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 di bawah 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.
 
 
 

Jumat, 15 Desember 2017

Group Function pada Oracle 10g


Pada kesempatan kali ini, Saya akan membahas apa itu Group Function dan Penerapannya pada aplikasi. Group Function berfungsi untuk membuat beberapa perintah/fungsi dalam satu baris perintah sql yang akan mengumpulkan data dari beberapa kolom dan menggabungkannya pada satu kolom.

Berikut beberapa rules yang perlu diketahui saat mempraktikkan ini :

* Seluruh field yang masuk select list yang bukan group function harus masuk ke dalam klausa
   group by.* Field yang masuk di dalam group by tidak selalu harus ada di select list.
* Group Function bisa digunakan dengan function lain nya (Nested).
* Untuk membatasi hasil pencarian group tidak bisa dengan where melainkan dengan having.
* Bisa digunakan dengan perintah order by untuk mengurutkan.

Referensi : https://arifaiweb.wordpress.com/2017/12/13/group-function-pada-oracle/

Berikut contoh pemakaian Group Function :

1. Min dan Max
    Digunakan untuk menentukan nilai minimum dan maksimum dari suatu data.































2. Count
    Menghitung jumlah employee_id di bawah 104.









3. Sum
    Menghitung jumlah salary berdasarkan deparment_id dan job_id nya.


















4. Avg
    Menghitung rata-rata yang gaji nya di bawah 10000 menggunakan having.
 














Pada gambar di atas terlihat banyak angka setelah koma, gunakan perintah round agar angka dibulatkan...
















Sekian untuk artikel kali ini, semoga bermanfaat untuk yang membaca nya.