SQL (Structure Query Language) Pertemuan 5 – Reporting Aggregate Data Using the Group Function sy urf gm ail. co m
Tujuan Pembelajaran a) Mengidentifikasi GROUP BY b) Mendeksripsikan kegunaan dari Group Function c) Pengelompokan data menggunakan klausa GROUP BY Today! : Apa itu Group Function? Apa itu Group Function? Type Group Function Type Group Function Create Groups of Data Create Groups of Data Klausa HAVING Klausa HAVING
What are Group Functions ? Group functions bekerja pada sekelompok baris dan menghasilkan satu nilai untuk setiap kelompok.
Group Function : Syntax Perintah DISTINCT memberikan pengaruh pada hasil perhitungan group functions, karena data yang bernilai sama akan hanya dihitung sekali. Apabila semua data (tanpa menghiraukan yang duplikat) akan dihitung, maka digunakan ALL, ALL tidak perlu dituliskan karena merupakan nilai default. Semua group functions mengabaikan nilai NULL pada perhitungannya, untuk menyertakan nilai NULL pada suatu group functions gunakan fungsi NVL, NVL2 atau COALESCE. BAC K
Tipe dari Group Function AVG COUNT MAX MIN STDDEV SUM VARIANCE
Fungsi AVG, SUM, MIN, MAX Gunakan fungsi AVG, SUM, MIN dan MAX untuk kolom yang dapat menyimpan data numerik.
Fungsi MIN, MAX Fungsi MIN & MAX untuk kolom dengan tipe data numerik, character, dan date.
Fungsi COUNT Fungsi COUNT mempunyai 3 format : COUNT (*) COUNT (expr) COUNT (DISTINCT expr) COUNT(*) mengembalikan jumlah baris dalam tabel yang memenuhi kriteria dari SELECT statement, termasuk baris yang sama, dan baris yang bernilai null. COUNT (expr) mengembalikan jumlah nilai-nilai non-null yang berada di kolom yang diidentifikasi oleh expr COUNT (DISTINCT expr) mengembalikan nilai yang unik, tidak duplikat, nilai-nilai non-null yang berada di kolom yg diidentifikasi oleh expr
Fungsi COUNT
Groups of Data Dalam semua group function, tabel sebagai satu kelompok informasi yang besar. Dengan menggunakan klause GROUP BY dapat membagi informasi tabel menjadi kelompok2 kecil
Groups of Data : Syntax Klause Group By digunakan untuk membagi baris dalam tabel ke dalam group. Gunakan group function untuk mengembalikan ringkasan informasi untuk setiap group.
Groups of Data : Pedoman Jika anda menyertakan group functions pada klausa SELECT, anda tidak dapat memilih hasil-hasil secara individu dengan baik, kecuali kolom individu muncul pada klausa GROUP BY. Anda akan menerima pesan kesalahan jika anda keliru menyertakan daftar kolom di klausa GROUP BY Menggunakan klausa WHERE, anda dapat mengeluarkan baris-baris sebelum membaginya kedalam kelompok- kelompok Anda harus menyertakan kolom-kolom dalam klausa GROUP BY. Anda tidak dapat menggunakan kolom alias dalam klausa GROUP BY.
Groups of Data : Penggunaan Ketika menggunakan klausa GROUP BY, pastikan bahwa semua kolom pada daftar SELECT yang bukan group functions disertakan pada klausa GROUP BY.
Groups of Data : Penggunaan Kolom GROUP BY tidak harus ada pada klausa SELECT SELECT department_id, AVG(salary) FROM employees GROUP BY department_id ORDER BY AVG(salary);
Pengelompokan dengan lebih dari satu kolom
Penggunaan GROUP BY pada lebih dari satu kolom Operator logika AND akan bernilai benar jika semua kondisi benar
Query-query Ilegal Menggunakan Group Functions Beberapa kolom atau ekpresi pada daftar SELECT yang bukan fungsi agreget harus ada dalam klausa GROUP BY :
Query-query Ilegal Menggunakan Group Functions Anda tidak bisa menggunakan klausa WHERE untuk membatasi kelompok-kelompok. Gunakan klausa HAVING untuk membatasi (restrict) kelompok-kelompok. Tidak bisa menggunakan group functions pada klausa WHERE.
Membatasi Hasil-hasil Pengelompokan BAC K
Membatasi Hasil Pengelompokan dgn Klausa HAVING Saat Anda menggunakan klausa HAVING, server Oracle membatasi pengelompokkan sebagai berikut : 1. Baris-baris dikelompokkan. 2. Group Function diterapkan. 3. Pengelompokkan yang memenuhi klausa HAVING ditampilkan.
HAVING BY : Penggunaan
Group Function Bersarang Group functions dapat disarangkan hingga 2 kedalaman. Cth : untuk menampilkan penghasilan rata-rata tertinggi :
Practice makes habit! 1. Tentukan salary terbesar, salary terkecil, rata2 gaji, jumlah total gaji untuk setiap kategori pekerjaan yang memiliki rata2 gaji lebih dari Tampilkan jumlah karyawan yang memiliki jenis pekerjaan yang sama untuk setiap pekerjaan. 3. Buat laporan untuk : Nomor Departemen dan rata2 gaji untuk karyawan di departemen yang bersangkutan yang bekerja sebelum tahun Urutkan berdasarkan nomor departemen! 4. Tampilkan manager id beserta banyaknya pegawai.
Practice makes habit! 5. Tampilkan department id dan total salarynya. 6. Tampilkan rata-rata salary berdasarkan job_id dengan salary < Tampilkan salary maksimal dan salary minimal untuk setiap job_id. 8. Tampilkan department id dan total salary yang memiliki total salary diantara dan Tampilkan job history dengan waktu terlama.
Next : Pengumpulan Tugas Kuis UTS