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 employees GROUP 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 employees GROUP BY department_id HAVING max( salary ) >3000
SubQuery Sintak subquery : Cara penggunaan 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, salary FROM employees WHERE job_id = ( SELECT job_id FROM employees WHERE employee_id = '7369' ) AND salary < ( SELECT salary FROM employees WHERE employee_id = '7521' )
Terima Kasih