Function Groupb By, Having dan Join Tabel (I) (Pertemuan 7)

Kali ini akan membahas sedikit tentang klausa atau function Having, Group dan Join by di oracle database. Sebelumnya kita sudah membahas materi lainnya disini.
1.Group
Biasanya pada saat menyeleksi data, sering di minta untuk menampilkan sekumpulan data berdasarkan kelompok data tertentu yang biasanya mengeksekusinya dengan memberikan perintah
group by, biasanya dalam pengelompokan data juga di sertakan aggregate function dimana dalam implementasinya memang aggregate function harus di ikuti oleh perintah group by. Tipe-tipe fungsi group pada oracle yaitu : AVG, COUNT, MAX, MIN, SUM.
MAX
Digunakan untuk mencari nilai maksimal dari sekumpulan data yang ada, syntact yang digunakan adalah
Select Field-1,.. Field-n, MAX(nama_field)
From table_name
Group By Field-1, Field-n
MIN
Kebalikan dari fungsi max, yakni digunakan untuk mencari nilai minimal (terkecil) dari sekumpulan data yang ada, syntact yang digunakan adalah
Select Field-1,.. Field-n, MIN(nama_field)
From table_name
Group By Field-1, Field-n
COUNT
Digunakan untuk mencari banyaknya data dari sekumpulan data yang ada, syntact yang digunakan adalah
Select Field-1,.. Field-n, COUNT(nama_field)
From table_name
Group By Field-1, Field-n
AVERAGE
Digunakan untuk mencari rata-rata dari sekumpulan data yang ada, syntact yang digunakan adalah
Select Field-1,.. Field-n, AVG(nama_field)
From table_name
Group By Field-1, Field-n
SUM
Digunakan untuk mencari jumlah dari sekumpulan data yang ada, syntact yang digunakan adalah
Select Field-1,.. Field-n, SUM(nama_field)
From table_name
Group By Field-1, Field-n
Misal untuk menampilkan nilaimax, min, count, rata2 dan jumlah data dari tabel product, maka syntak yang digunakan
Select kode_product,
MIN (jumlah_product) as Nilai_Min_Product
MAX (jumlah_product) as Nilai_Max_Product
COUNT (jumlah_product) as Cacah_Product
AVG (jumlah_product) as Rata2_Product
SUM (jumlah_product) as Jumlah_Product
from tabel_product
group by kode_product;
2. Having
Perintah Having digunakan untuk membatasi data yang tampil tergantung apa yang kita ingin tampilkan misalnya :
Mencari rata rata salary dengan ketentuan (having) salary > 8000 dan urutkan sesuai department id
3. Join
ada beberapa cara untuk menabungkan tabel yang ada pada database misalnya saja natural join dan self join. Contohnya bisa di lihat dibawah ini
a. Natural Join
Aturan natural join :
1. nama field atau kolom harus samat
2. value yang ada di kolom harus sama
3. type data harus sama dan berat
ada beberapa cara penulisan natural join, contohnya:
select department_id, department_name, location_id, city
from departments
natural join locations;
group by, biasanya dalam pengelompokan data juga di sertakan aggregate function dimana dalam implementasinya memang aggregate function harus di ikuti oleh perintah group by. Tipe-tipe fungsi group pada oracle yaitu : AVG, COUNT, MAX, MIN, SUM.
MAX
Digunakan untuk mencari nilai maksimal dari sekumpulan data yang ada, syntact yang digunakan adalah
Select Field-1,.. Field-n, MAX(nama_field)
From table_name
Group By Field-1, Field-n
MIN
Kebalikan dari fungsi max, yakni digunakan untuk mencari nilai minimal (terkecil) dari sekumpulan data yang ada, syntact yang digunakan adalah
Select Field-1,.. Field-n, MIN(nama_field)
From table_name
Group By Field-1, Field-n
COUNT
Digunakan untuk mencari banyaknya data dari sekumpulan data yang ada, syntact yang digunakan adalah
Select Field-1,.. Field-n, COUNT(nama_field)
From table_name
Group By Field-1, Field-n
AVERAGE
Digunakan untuk mencari rata-rata dari sekumpulan data yang ada, syntact yang digunakan adalah
Select Field-1,.. Field-n, AVG(nama_field)
From table_name
Group By Field-1, Field-n
SUM
Digunakan untuk mencari jumlah dari sekumpulan data yang ada, syntact yang digunakan adalah
Select Field-1,.. Field-n, SUM(nama_field)
From table_name
Group By Field-1, Field-n
Misal untuk menampilkan nilaimax, min, count, rata2 dan jumlah data dari tabel product, maka syntak yang digunakan
Select kode_product,
MIN (jumlah_product) as Nilai_Min_Product
MAX (jumlah_product) as Nilai_Max_Product
COUNT (jumlah_product) as Cacah_Product
AVG (jumlah_product) as Rata2_Product
SUM (jumlah_product) as Jumlah_Product
from tabel_product
group by kode_product;
2. Having
Perintah Having digunakan untuk membatasi data yang tampil tergantung apa yang kita ingin tampilkan misalnya :
Mencari rata rata salary dengan ketentuan (having) salary > 8000 dan urutkan sesuai department id
| Having |
ada beberapa cara untuk menabungkan tabel yang ada pada database misalnya saja natural join dan self join. Contohnya bisa di lihat dibawah ini
a. Natural Join
Aturan natural join :
1. nama field atau kolom harus samat
2. value yang ada di kolom harus sama
3. type data harus sama dan berat
ada beberapa cara penulisan natural join, contohnya:
select department_id, department_name, location_id, city
from departments
natural join locations;
ATAU
select employees.employee_id, employees.last_name, departments.location_id, department_id
from employees join departments using(department_id)
ATAU
select a.employee_id, a.last_name, b.location_id, department_id
from a join b using(department_id)
ATAU
select a.employee_id, a.last_name, b.location_id, a.department_id
from employees a join departments b on a.department_id = b.department_id
| Natural Join |
B. Self Join
Contoh Self Join sebagi berikut
from employees e join departments d on d.department_id = e.department_id
join locations l on d.location_id=l.location_id
| Self Join |
~ Terima Kasih ~
0 komentar: