--1
--a
select *
from da.predmet
order by espb;

--ili

select *
from da.predmet
order by espb asc;

--b 
select *
from da.predmet
order by espb desc;

--ili

select *
from da.predmet
order by 4 desc;

--c 

select *
from da.predmet
order by espb, naziv desc;

--ili

select *
from da.predmet
order by 4, naziv desc;

--2

select oznaka, naziv, obimespb/60 brgodina
from da.studijskiprogram
where obimespb >=180
order by brgodina, naziv;

select oznaka, naziv, obimespb/60 brgodina
from da.studijskiprogram
where obimespb/60 >=3
order by brgodina, naziv;


--obratiti paznju da zbog  redosledua izvrsavanja klauzula ne moze 

--select oznaka, naziv, obimespb/60 brgodina
--from da.STUDIJSKIPROGRAM
--where brgodina>=3
--order by brgodina, naziv

--3
select *
from da.dosije
where DATDIPLOMIRANJA is null;

--4
select *
from da.dosije
where DATDIPLOMIRANJA is not null;

--5 : proizvod

select *
from da.dosije, da.ispit;


--6 : proizvod i uslov spajanja
select *
from da.dosije, da.ispit
where da.dosije.indeks = da.ispit.indeks;

--unutrašnje spajanje
select *
from da.dosije join  da.ispit on da.dosije.indeks = da.ispit.indeks;


select *
from da.dosije inner join  da.ispit on da.dosije.indeks = da.ispit.indeks;

--7
select da.dosije.indeks, ime, prezime, idpredmeta, ocena
from da.dosije join  da.ispit on da.dosije.indeks = da.ispit.indeks
where datpolaganja='28.1.2016';


select da.dosije.indeks, ime, prezime, idpredmeta, ocena
from da.dosije join  da.ispit on da.dosije.indeks = da.ispit.indeks
           and datpolaganja='28.1.2016';


--8
         
select da.dosije.indeks, ime, prezime, naziv, ocena
from da.dosije join  da.ispit on da.dosije.indeks = da.ispit.indeks
      and ocena>5 and status='o'
     join da.predmet on da.ispit.idpredmeta=da.predmet.id;
      
      
select da.dosije.indeks, ime, prezime, naziv, ocena
from da.dosije join  da.ispit on da.dosije.indeks = da.ispit.indeks
     join da.predmet on da.ispit.idpredmeta=da.predmet.id
      where ocena>5 and status='o';
  
  
--9 

select distinct da.dosije.*
from da.dosije join da.ispit
	on da.dosije.datdiplomiranja=da.ispit.datpolaganja;    
    
select distinct da.dosije.*
from da.dosije join da.ispit
	on datdiplomiranja=datpolaganja;    

--10
select px.OZNAKA, py.OZNAKA, px.ESPB
from da.predmet as px, da.predmet as py
where px.espb=py.espb and px.id<py.id;


select px.OZNAKA, py.OZNAKA, px.ESPB
from da.predmet as px join da.predmet as py
      on px.espb=py.espb and px.id<py.id;
  
--11 
select distinct d.indeks, ime, prezime
from da.dosije d join da.ispit i on d.indeks=i.indeks
            join da.predmet p on p.id=i.idpredmeta
where prezime like '___a%c' and ocena in (6, 8, 10) and status='o'
and i.DATPOLAGANJA between '5.1.2018' and '15.12.2018'
order by prezime, ime desc ;

--12 

--levo spoljasnje spajanje
select pp.idprograma, pp.idpredmeta, vrsta, iduslovnogpredmeta 
from da.PREDMETPROGRAMA pp left join da.USLOVNIPREDMET up
		on pp.idprograma=up.idprograma and
		   pp.idpredmeta=up.idpredmeta;

--desno spoljasnje spajanje
select pp.idprograma, pp.idpredmeta, vrsta, iduslovnogpredmeta 
from  da.USLOVNIPREDMET up  right join da.PREDMETPROGRAMA pp
		on pp.idprograma=up.idprograma and
		   pp.idpredmeta=up.idpredmeta;


--13
--potpuno spoljasnje spajanje
select indeks, ime, prezime, datdiplomiranja, naziv, datkraja
from da.DOSIJE d full join da.ISPITNIROK ir
		on d.datdiplomiranja=ir.datkraja;

 

  
