--1
--a
--select indeks
--from dosije
--where mesto_rodjenja='Beograd'
--union 
--select indeks
--from ispit
--where ocena=10
--order by indeks desc;


--b
--select indeks
--from dosije
--where mesto_rodjenja='Beograd'
--intersect 
--select indeks
--from ispit
--where ocena=10
--order by indeks desc;

--c
--select indeks
--from dosije
--where mesto_rodjenja='Beograd'
--except 
--select indeks
--from ispit
--where ocena=10
--order by indeks desc;


--2

--select indeks, id_predmeta, ocena, case
--                                     when ocena=10 then 'deset'
--                                     when ocena=9 then 'devet'
--                                     when ocena=8 then 'osam'
--                                     when ocena=7 then 'sedam'
--                                     when ocena=6 then 'sest'
--                                     else 'nepolozen'
--                                   end as rezultat_ispita
--from ispit;
 
--ili

--select indeks, id_predmeta, ocena, case ocena
--                                     when 10 then 'deset'
--                                     when 9 then 'devet'
--                                     when 8 then 'osam'
--                                     when 7 then 'sedam'
--                                     when 6 then 'sest'
--                                     else 'nepolozen'
--                                   end as rezultat_ispita
--from ispit;

--3

--select naziv, case 
--                when bodovi>7 then 'I kat'
--                when bodovi>4 then 'II kat'
--                else  'III  kat' 
--              end as kategorija
--from predmet;


--4
--select distinct current_time from dosije;
--values current time;
--select current_time from sysibm.sysdummy1;

--5
--values user;

--6
--values dayname(date('4.11.2015'));
--values dayname('4.11.2015');

--7
--values (dayofyear(current_date), 
--           week(current_date), 
--           dayofweek(current_date), 
--           dayname(current_date), 
--           monthname(current_date));

--8
--values  second(current_time) ;


--9
--values date('2008-11-11') - date('2005-08-06');

--10
--values current date + 12 years + 5 months + 25 days;


--11
--select *
--from ispit
--where datum_ispita>date('2015-01-28');

--select *
--from ispit
--where datum_ispita>'2015-01-28';

--12
--select *
--from ispit
--where current_date-datum_ispita < 800;


--13
--select indeks, naziv, ocena, 
--         year(current_date-datum_ispita) godina, 
--         month(current_date-datum_ispita) meseci, 
--         day(current_date-datum_ispita) dana
--from ispit i join predmet p on i.id_predmeta=p.id_predmeta
--where  current_date-datum_ispita<=50000 ;



--14
--select indeks, 
--         ime || ' ' || prezime "ime i prezime", 
--         substr(ime,1,1) || substr(prezime,1,1) inicijali, 
--         replace(mesto_rodjenja, 'Beograd', 'Bg') "mesto rodjenja"
--from dosije;
--
--select indeks,
--          ime || ' ' || prezime "ime i prezime", 
--          concat(substr(ime,1,1),substr(prezime,1,1)) as inicijali, 
--          replace(mesto_rodjenja, 'Beograd', 'Bg') "mesto rodjenja"
--from dosije;

--15
--select indeks, ime, prezime, coalesce(mesto_rodjenja, 'Nepoznato') as "mesto rodjenja"
--from dosije;

--16
--values char(current_time, ISO), char(current_time, USA), char(current_time, EUR);

--17
--a
--select sifra, naziv, decimal(bodovi*1.200, 6, 2) as uvecanje
--from predmet;

--b
--select sifra, naziv, ceil(bodovi*1.2) as uvecanja
--from predmet
--where ceil(bodovi*1.2)>8;

--18
select substr(indeks,5)|| '/' ||substr(indeks,1,4), naziv, p.id_predmeta
from ispit i join predmet p on p.id_predmeta=i.id_predmeta
where ocena=10 and not exists (select *
                                               from ispit i2
                                               where i2.indeks<>i.indeks and ocena=10 and i.id_predmeta=i2.id_predmeta);
                                               

--19
select distinct ir.naziv, 							
coalesce(dayname(datum_ispita), 'nije bilo ispita ili je nepoznat datum')
from ispitni_rok ir left outer join ispit i			    	
		on ir.godina_roka=i.godina_roka and
		  ir.oznaka_roka=i.oznaka_roka
where ir.godina_roka between 2000 and 2015;
                  
--ili (na komplikovaniji nacin)

select distinct ir.naziv, 						
coalesce(dayname(datum_ispita), 'nepoznat datum')       
from ispitni_rok ir  join ispit i					
		on ir.godina_roka=i.godina_roka and
		  ir.oznaka_roka=i.oznaka_roka
where ir.godina_roka between 2000 and 2015			
union                                                  
select ir.naziv, 'nije bilo ispita'				
from ispitni_rok ir
where ir.godina_roka between 2000 and 2015			
and not exists (select *							
                 from ispit i
                 where ir.godina_roka=i.godina_roka and
		  ir.oznaka_roka=i.oznaka_roka);


          


