Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //*
- Predavanje i Vježbe 30.4.
- */
- /*Pregleda riječ bez obzira na velika i mala slova, jer sva prebaci u velika */
- select ime || ' ' || prezime NAZIV, spol, placa
- FROM djelatnik
- WHERE UPPER (prezime)='IVIĆ';
- /* Sortira ljude po dužini rada, te to prikazuje */
- select id_djelatnika, ime, prezime, placa, datum_zaposlenja, months_between(SYSDATE, datum_zaposlenja)/12 STAŽ
- FROM djelatnik
- order by months_between(SYSDATE, datum_zaposlenja) desc;
- /*
- NULL uvijek prebacuje druge vrijednosti u NULL kada radi aritmetičke operacije s njima
- NULL + 2 = NULL
- NULL * 2 = NULL
- */
- select id_djelatnika, ime, prezime, placa, datum_zaposlenja, months_between(SYSDATE, datum_zaposlenja)/12 STAŽ
- FROM djelatnik
- order by months_between(SYSDATE, datum_zaposlenja) desc
- /* CASE i DECODE funkcije se koriste za ispisivanje zamjenskih riječi za vrijednosti */
- SELECT ime, prezime, spol,
- CASE spol
- WHEN 'M' THEN 'Muško'
- WHEN 'Ž' THEN 'Žensko'
- ELSE '???'
- END
- FROM djelatnik;
- SELECT ime, prezime,
- DECODE (spol, 'M', 'Muškarac', 'Ž', 'Žena', 'NLO')
- FROM djelatnik;
- SELECT ime, prezime, spol, placa,
- CASE spol
- WHEN 'M' THEN placa*0.95
- WHEN 'Ž' THEN placa*1.1
- ELSE placa
- END nova_plaća /* Daje ime stupcu */
- FROM djelatnik;
- /* OSNOVNE METODE SPAJANJA TABLICA */
- /*OBRATITI PAZNJU, Kartezijev produkt je pad ispita */
- select ime, prezime, placa, naziv_opcine
- FROM djelatnik, opcina
- where djelatnik.sifra_opcine=opcina.sifra_opcine;
- select ime, prezime, placa, naziv_opcine, naziv_zupanije
- FROM djelatnik, opcina, zupanija
- where djelatnik.sifra_opcine=opcina.sifra_opcine
- AND opcina.sifra_zupanije = zupanija.sifra_zupanije;
- /*Pravilo je da je broj tablica za 1 veći od broja uvijeta spajanja
- ALIAS je kad u WHERE dodamo ime tablici.
- NPR*/
- select ime, prezime, placa, naziv_opcine, z.sifra_zupanije, naziv_zupanije
- FROM djelatnik d, opcina o, zupanija z
- where d.sifra_opcine=o.sifra_opcine
- AND o.sifra_zupanije = z.sifra_zupanije;
- select naziv_odjela, count(*)
- from djelatnik d,radno_mjesto rm, odjel o
- where d.sifra_radmj=rm.sifra_radmj
- and rm.sifra_odjela=o.sifra_odjela
- group by naziv_odjela;
- select naziv_opcine, count(*)
- from djelatnik d
- JOIN opcina o ON d.sifra_opcine=o.sifra_opcine
- where spol='M'
- group by naziv_opcine
- HAVING count(*)>1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement