110 likes | 320 Views
SQL-Aggregate dengan Fungsi GROUP, HAVING dan subQuery. Oleh : Devie Rosa Anamisa. Klausa GROUP BY. Mengoperasikan sekelompok baris data menjadi bentuk group data Fungsi Group (Multi-row Function) AVG, COUNT, MAX, MIN, SUM, … Format :
E N D
SQL-Aggregate dengan Fungsi GROUP, HAVING dan subQuery Oleh : Devie Rosa Anamisa
Klausa GROUP BY • Mengoperasikan sekelompok baris data menjadi bentuk group data • Fungsi Group (Multi-row Function) • AVG, COUNT, MAX, MIN, SUM, … • Format : • SELECT [kolom,] fungsi_group(kolom),… FROM tabel [WHERE kondisi] [GROUP BY kolom] [HAVING kondisi_group] [ORDER BY kolom]; • SELECT avg( salary), max( salary ) , min( salary ) , sum( salary ) FROM employees WHERE job_id LIKE '%_prog‘;
Penggunaan klausa Group by pada lebih dari satu kolom • SELECT department_id, job_id, sum( salary ) FROM employeesGROUP BY department_id, job_id
Klausa HAVING • Identik dengan klausa WHERE • Digunakan untuk membatasi jumlah /memilih baris yang tampil • Klausa WHERE digunakan pada operasi Single-row • Klausa HAVING digunakan pada operasi Multi-row • Penggunaan: • Untuk melakukan pembatasan pada group: • Baris yang digroup kan • Fungsi group yang digunakan • Group yang sesuai dengan klausa HAVING saja yang ditampilkan • Contoh : • SELECT department_id, MAX( salary ) FROM employeesGROUP BY department_idHAVING max( salary ) >3000
SubQuery • Sintak subquery : • SELECT select_list FROM table WHERE expr operator (select select_list from table); • Cara penggunaan subquery: • Letakkan subquery didalam tanda kurung • Tempatkan subquery pada sisi kanan dari kondisi pembandingan • Gunakan operator baris tunggal dengan subquery baris tunggal.
Contoh : • SELECT last_name, job_id, salaryFROM employeesWHERE job_id = ( SELECT job_id FROM employees WHERE employee_id = '7369' ) AND salary < ( SELECT salary FROM employees WHERE employee_id = '7521' )