--1

select p.naziv, i.indeks, i.datum_ispita - i2.datum_ispita as "Broj dana"
from ispit i join ispit i2
	on i.id_predmeta=i2.id_predmeta and i.indeks=i2.indeks
	join predmet p
		on p.id_predmeta=i.id_predmeta
where  i.datum_ispita - i2.datum_ispita <=20
and p.bodovi between 5 and 9
andsubstr(naziv, 4,2)='gr'
and i.datum_ispita>i2.datum_ispita;

--2

select ir.naziv naziv_roka, p.naziv naziv_predmeta, d.indeks, ime, prezime
from predmet p join ispit i 
			on p.id_predmeta=i.id_predmeta
		join ispitni_rok ir
			on ir.godina_roka=i.godina_roka and ir.oznaka_roka=i.oznaka_roka
		join dosije d
			on d.indeks=i.indeks
where not exists (select *
from ispit i1
where i.id_predmeta=i1.id_predmeta and (i.godina_roka<>i1.godina_roka or i.oznaka_roka<>i1.oznaka_roka));

--3
select ime, prezime, naziv
from dosije d, predmet p
where exists (select * from ispit i1 
              where indeks = d.indeks and id_predmeta = p.id_predmeta 
                    and ocena >5  and not exists (select * from ispit 
                                                  where id_predmeta = i1.id_predmeta 
                                                        and d.indeks = i1.indeks 
                                                         and (godina_roka<>i1.godina_roka or oznaka_roka<>i1.oznaka_roka) ));

--4
select d.indeks, ime, prezime, coalesce(naziv, repeat('*', length(prezime)))
from dosije d left join ispit i 
		 on d.indeks=i.indeks and ocena>5
     left join predmet p
     	on p.id_predmeta=i.id_predmeta		
where datum_upisa - datum_rodjenja <= all (select datum_upisa - datum_rodjenja
                                          from dosije
                                          where datum_upisa - datum_rodjenja is not null);
                                          
                                          
--5
select d.indeks, d1.indeks, d.mesto_rodjenja              
from dosije d join dosije d1							
on d.mesto_rodjenja=d1.mesto_rodjenja					
and d1.indeks<d.indeks							   
and substr(d.mesto_rodjenja,6,3)='evo'					
and year(d.datum_upisa) in (2010, 2014, 2015)			
and year(d1.datum_upisa) in (2010, 2014, 2015);

                                                         






