Advertisement
UrQuan

Baze Podataka

Apr 30th, 2014
477
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 2.28 KB | None | 0 0
  1. //*
  2. Predavanje i Vježbe 30.4.
  3. */
  4.  
  5. /*Pregleda riječ bez obzira na velika i mala slova, jer sva prebaci u velika */
  6.  
  7. select ime || ' ' || prezime NAZIV, spol, placa
  8. FROM djelatnik
  9. WHERE UPPER (prezime)='IVIĆ';
  10.  
  11.  
  12. /* Sortira ljude po dužini rada, te to prikazuje */
  13.  
  14. select id_djelatnika, ime, prezime, placa, datum_zaposlenja, months_between(SYSDATE, datum_zaposlenja)/12 STAŽ
  15. FROM djelatnik
  16. order by months_between(SYSDATE, datum_zaposlenja) desc;
  17.  
  18. /*
  19. NULL uvijek prebacuje druge vrijednosti u NULL kada radi aritmetičke operacije s njima
  20. NULL + 2 = NULL
  21. NULL * 2 = NULL
  22. */
  23. select id_djelatnika, ime, prezime, placa, datum_zaposlenja, months_between(SYSDATE, datum_zaposlenja)/12 STAŽ
  24. FROM djelatnik
  25. order by months_between(SYSDATE, datum_zaposlenja) desc
  26.  
  27. /* CASE i DECODE funkcije se koriste za ispisivanje zamjenskih riječi za vrijednosti */
  28. SELECT ime, prezime, spol,
  29. CASE spol
  30. WHEN 'M' THEN 'Muško'
  31. WHEN 'Ž' THEN 'Žensko'
  32. ELSE '???'
  33. END
  34. FROM djelatnik;
  35.  
  36. SELECT ime, prezime,
  37. DECODE (spol, 'M', 'Muškarac', 'Ž', 'Žena', 'NLO')
  38. FROM djelatnik;
  39.  
  40. SELECT ime, prezime, spol, placa,
  41. CASE spol
  42.     WHEN 'M' THEN placa*0.95
  43.     WHEN 'Ž' THEN placa*1.1
  44.     ELSE placa
  45. END nova_plaća /* Daje ime stupcu */
  46. FROM djelatnik;
  47.  
  48. /* OSNOVNE METODE SPAJANJA TABLICA */
  49. /*OBRATITI PAZNJU, Kartezijev produkt je pad ispita */
  50. select ime, prezime, placa, naziv_opcine
  51. FROM djelatnik, opcina
  52. where djelatnik.sifra_opcine=opcina.sifra_opcine;
  53.  
  54. select ime, prezime, placa, naziv_opcine, naziv_zupanije
  55. FROM djelatnik, opcina, zupanija
  56. where djelatnik.sifra_opcine=opcina.sifra_opcine
  57. AND opcina.sifra_zupanije = zupanija.sifra_zupanije;
  58.  
  59. /*Pravilo je da je broj tablica za 1 veći od broja uvijeta spajanja
  60.  
  61. ALIAS je kad u WHERE dodamo ime tablici.
  62.  
  63. NPR*/
  64.  
  65. select ime, prezime, placa, naziv_opcine, z.sifra_zupanije, naziv_zupanije
  66. FROM djelatnik d, opcina o, zupanija z
  67. where d.sifra_opcine=o.sifra_opcine
  68. AND o.sifra_zupanije = z.sifra_zupanije;
  69.  
  70. select naziv_odjela, count(*)
  71. from djelatnik d,radno_mjesto rm, odjel o
  72. where d.sifra_radmj=rm.sifra_radmj
  73. and rm.sifra_odjela=o.sifra_odjela
  74. group by naziv_odjela;
  75.  
  76. select naziv_opcine, count(*)
  77. from djelatnik d
  78. JOIN opcina o ON d.sifra_opcine=o.sifra_opcine
  79. where spol='M'
  80. group by naziv_opcine
  81. HAVING count(*)>1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement