jOracle9i Introduction to SQL
@Tessy Badriyah, SKom. MT.
Oracle Academic Initiative Oracle9i Introduction to SQL
Oleh: Tessy Badriyah, SKom.MT
Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya
BAB 6 : Aggregate Data dg Fungsi GROUP
Halaman : 6 - 0
jOracle9i Introduction to SQL
@Tessy Badriyah, SKom. MT.
BAB 6 : Aggregate Data dengan Fungsi GROUP 6.1. Sasaran • Mengidentifikasi Fungsi Group yang tersedia • Menggambarkan Penggunaan dari Fungsi Group • Mengelompokkan data dengan Klausa GROUP BY • Meng-include atau meng-exclude suatu baris data dengan klausa HAVING 6.2. Apa itu Fungsi Group Tidak seperti fungsi baris tunggal, fungsi group beroperasi pada himpunan baris dan memberikan satu hasil per group.
6.3. Tipe-tipe Fungsi Group Tipe-tipe fungsi group yaitu : AVG, COUNT, MAX, MIN, STDDEV, SUM, VARIANCE. 6.4. Sintak dari Fungsi Group Sintak (cara penulisan) dari penggunaan Fungsi Group : SELECT [DISTINCT] {*, column [alias] group_function(column) } FROM table; [WHERE condition(s) ] [GROUP BY column] [ORDER BY column]; 6.5. Penggunaan Fungsi AVG dan SUM Fungsi AVG dan SUM digunakan pada data numeric untuk mencari nilai rata-rata dan jumlah total dari sekumpulan data.
BAB 6 : Aggregate Data dg Fungsi GROUP
Halaman : 6 - 1
jOracle9i Introduction to SQL
@Tessy Badriyah, SKom. MT.
6.6. Penggunaan Fungsi MIN dan MAX Sedangkan fungsi MIN dan MAX dapat digunakan untuk sembarang tipe data.
6.7. Penggunaan Fungsi COUNT Fungsi COUNT digunakan untuk mencari jumlah baris dalam table.
Fungsi COUNT hanya mengembalikan hasil dari baris yang tidak mengandung nilai NULL saja, karena fungsi COUNT mengabaikan nilai NULL.
6.8. Penggunaan Keyword DISTINCT COUNT(DISTINCT expr) mengembalikan sejumlah nilai tidak null yang bersifat distinct. Contoh akan ditampilkan jumlah nilai departemen yang distinct dari tabel EMPLOYEES.
6.9. Fungsi Group dan Nilai Null Fungsi Group mengabaikan nilai NULL. 6.10. Penggunaan fungsi NVL dengan Fungsi Group Fungsi NVL digunakan bersama dengan fungsi Group untuk mencakup baris data yang mengandung nilai NULL.
BAB 6 : Aggregate Data dg Fungsi GROUP
Halaman : 6 - 2
jOracle9i Introduction to SQL
@Tessy Badriyah, SKom. MT.
6.11. Pembuatan Group Data Hasil dari query dapat dikelompokkan berdasarkan suatu criteria tertentu dengan menggunakan klausa GROUP BY. Misal rata-rata gaji dikelompokken berdasarkan nomer department.
6.12. Pembuatan Group Data : Sintak Klausa GROUP BY
6.13. Penggunaan Klausa GROUP BY
Kolom pada klausa GROUP BY tidak harus berada dalam klausa SELECT, seperti pada contoh berikut BAB 6 : Aggregate Data dg Fungsi GROUP
Halaman : 6 - 3
jOracle9i Introduction to SQL
@Tessy Badriyah, SKom. MT.
6.14. Mengelompokkan lebih dari Satu Kolom Klausa GROUP BY juga dapat digunakan pada lebih dari satu kolom.
6.15. Penggunaan Klausa GROUP BY pada lebih dari satu Kolom Contoh penggunaan klausa GROUP BY pada lebih dari satu kolom :
BAB 6 : Aggregate Data dg Fungsi GROUP
Halaman : 6 - 4
jOracle9i Introduction to SQL
@Tessy Badriyah, SKom. MT.
6.16. Illegal Queries dengan Fungsi Group Kesalahan yang mungkin terjadi pada query dengan Fungsi Group adalah menampilkan kolom pada statement SELECT yang tidak menggunakan fungsi group sedangkan kolom lainnya menggunakan fungsi group, dan kolom yang bukan fungsi group tersebut belum dicantumkan dalam klausa GROUP BY. Contoh kesalahannya seperti ini :
6.16. Pengecualian Hasil dari Fungsi Group : dengan Klausa HAVING Klausa WHERE tidak boleh digunakan pada query yang sudah dikelompokkan dengan menggunakan Fungsi Group atau klausa GROUP BY. Contoh kesalahannya seperti ini :
Yang benar adalah penggunaan kondisi pada fungsi Group menggunakan HAVING, bukan menggunakan WHERE. 6.17. Penggunaan Klausa HAVING Klausa HAVING digunakan untuk melakukan pembatasan pada group: 1. Baris yang di-group-kan. 2. Fungsi group yang digunakan 3. Group yang sesuai dengan klausa HAVING saja yang ditampilkan Sintak dari penggunaan HAVING :
Contoh penggunaan klausa HAVING :
BAB 6 : Aggregate Data dg Fungsi GROUP
Halaman : 6 - 5
jOracle9i Introduction to SQL
@Tessy Badriyah, SKom. MT.
Penggunaan HAVING dengan WHERE :
6.18. Fungsi Group Bersarang Fungsi Group bisa digunakan secara nested (bersarang) Berikut penggunaan Fungsi Group bersarang untuk menampilkan nilai maksimum dari rata-rata gaji berdasarkan departemen.
6.19. Latihan 1. Tampilkan nilai tertinggi, terendah, jumlah dan rata-rata gaji dari seluruh pegawai. Beri judul kolom MAKSIMUM MINIMUM TOTAL RATA2.
2. Tampilkan nilai tertinggi, terendah, jumlah dan rata-rata gaji pada tiap-tiap jenis pekerjaan yang ada.. Beri judul kolom MAKSIMUM MINIMUM TOTAL RATA2.
3. Tampilkan nama pekerjaan dan jumlah pegawai yang bekerja pada tiap-tiap pekerjaan tersebut
4. Buat query yang menampilkan perbedaan antara nilai terendah dan nilai tertinggi dari gaji pegawai, beri judul kolom PERBEDAAN.
BAB 6 : Aggregate Data dg Fungsi GROUP
Halaman : 6 - 6