HAVING tümcesi yardımcı olacaktır
select pk.adi,pk.soyadi,pg.personel_id,pg.tarih,min(pg.gi ris_saat) as min_giris_saat ,max(pg.cikis_saat) as max_cikis_saat,pk.departman_kod from personel_giriscikis pg
inner join personel_kartlari pk on pk.id=pg.personel_id
where pg.tarih='".$tarih."' and (departman_kod='2' or departman_kod='9' or departman_kod='5') group by pg.tarih,pg.personel_id
HAVING min(pg.giris_saat) > "08:15"
Having durumunu and min(pg.giris_saat) < "10:00"
Moladan önce olarak kısıtlayada bilirsiniz