Kelompok Pengguna Linux Indonesia [KPLI], Area Klaten [PELIK] Homepages
Mengenal SQL
SELECT p.id, p.nama AS nama_pegawai, a.nama AS nama_anak FROM pegawai p, anak a WHERE p.id = a.id_pegawai;
id | nama_pegawai | nama_anak ---+--------+-------- 1922 | Agus | Heni 1923 | Riki | Mahmud 1923 | Riki | Wati
SELECT p.nama, COUNT(*) AS jml_anak FROM pegawai p, anak a WHERE p.id = a.id_pegawai GROUP BY p.nama;
| nama | jml_anak ----+------- Agus | 1 Riki | 2 Sintaks lainnya yang baru dalam perintah SQL kali ini adalah penggunaan GROUP BY yaitu untuk memberitahu database server bahwa proses akumulatif jumlah anak dikelompokkan berdasarkan nama pegawai. Tanpa GROUP BY, anda akan mendapatkan pesan error. GROUP BY memang dibuat untuk menyertai agregate function. Kini hasil query tersebut akan diberi kondisi hanya pegawai dengan jumlah anak satu saja yang akan ditampilkan. Kita telah mempelajari perintah WHERE untuk menyatakan kondisi, namun karena COUNT adalah agregate function maka perintah ini tidak bisa
digunakan. Sebagai gantinya digunakan HAVING: SELECT p.nama, COUNT(*) AS jml_anak FROM pegawai p, anak a WHERE p.id = a.id_pegawai GROUP BY p.nama HAVING COUNT(*) = 1;