--1
--select count(*) broj_studenata
--from dosije;

--2
--select count(distinct indeks) broj_studenata
--from ispit
--where ocena=10;

--3
--select count(*) broj_predmeta, sum(krediti) broj_kredita
--from ispit i join predmet p on i.id_predmeta=p.id_predmeta
--where ocena>5 and indeks=20100025;

--4
--select nullif(ocena, 5)
--from ispit;

--5
--select count(distinct nullif(ocena, 5)) 
--from ispit;

--6
--select sifra, naziv, krediti
--from predmet
--where krediti> (select avg(krediti)
--                from predmet);

--7
--select id_predmeta, (select count(*) from ispit i where i.id_predmeta=p.id_predmeta and ocena>5) as polozilo
--from predmet p;

--ili

--select p.id_predmeta, count(indeks) as polozilo 
--from predmet p left outer join ispit i on p.id_predmeta=i.id_predmeta and ocena>5
--group by p.id_predmeta;

--8
--select d.indeks, avg(ocena+0.0) as prosek, min(ocena) as najmanja_ocena, max(ocena) as najveca_ocena
--from dosije d join ispit i on d.indeks=i.indeks
--where god_rodjenja=1992 and ocena>5
--group by d.indeks;

--9
--select godina_roka, naziv, max(ocena) as najveca_ocena
--from ispit i join predmet p on i.id_predmeta=p.id_predmeta
--group by godina_roka, naziv;

--10
--select id_predmeta, count(distinct indeks) broj_studenata
--from ispit
--group by id_predmeta
--having count(distinct indeks)>5;

--moze i

--select id_predmeta
--from ispit
--group by id_predmeta
--having count(distinct indeks)>5;

--13
--select indeks, monthname(datum_ispita) as mesec, count(*) as broj_ispita
--from ispit
--where ocena>5
--group by indeks, monthname(datum_ispita)
--having count(*) > 2
--order by indeks,  monthname(datum_ispita);

--ili

--select indeks, monthname(datum_ispita) as mesec, count(*) as broj_predmeta
--from ispit
--where ocena>5
--group by indeks, monthname(datum_ispita)
--having count(*) > 2
--order by indeks,  mesec;

--14
--select oznaka_roka, count(*) as broj_ispita, count(distinct indeks) broj_studenata
--from ispit
--where godina_roka=2011
--group by oznaka_roka
--having min(ocena)>5;

--ili

--select oznaka_roka, count(*) as broj_ispita, count(distinct indeks) broj_studenata
--from ispit
--group by godina_roka, oznaka_roka
--having godina_roka=2011 and min(ocena)>5;

--15
--select naziv, coalesce(ime || ' ' || prezime, 'nema'),  coalesce(ocena, 0)
--from ispitni_rok ir left outer join ispit i on i.godina_roka=ir.godina_roka and i.oznaka_roka=ir.oznaka_roka
--                    left outer join dosije d on i.indeks=d.indeks
--where ocena = (select max(ocena)
--                from ispit i2
--                where i.godina_roka=ir.godina_roka and ir.oznaka_roka=i2.oznaka_roka) or ocena is null;  

--16
--select naziv
--from predmet p join ispit i on p.id_predmeta=i.id_predmeta 
--               join dosije d on d.indeks=i.indeks
--where ime='Milos' and prezime='Peric' and ocena>5
--      and not exists ( select *
--                       from ispit i2
--                       where ocena>5 and i2.indeks<>d.indeks and i2.id_predmeta=p.id_predmeta);

--17
--select d1.indeks, d1.ime, d1.prezime,  d2.indeks, d2.ime, d2.prezime
--from dosije d1, dosije d2
--where d1.indeks<d2.indeks and 2 <= (select count(*)
--                                     from ispit i1 join ispit i2 on i1.id_predmeta=i2.id_predmeta and
--                                                                    i1.godina_roka=i2.godina_roka and
--                                                                    i1.oznaka_roka=i2.oznaka_roka
--                                     where d1.indeks=i1.indeks and d2.indeks=i2.indeks
--                                           and i1.ocena>5 and i2.ocena>5)
--      and d1.ime like 'M%' and d2.ime like 'M%';  














