Advertisement
UrQuan

Baze Podataka 2

May 12th, 2014
502
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. Nadji sve ljude koji imaju placu vecu od prosjeka
  2.  
  3. SELECT ime, prezime, placa
  4. FROM djelatnik
  5. WHERE placa > (select avg(placa) FROM djelatnik);
  6.  
  7.  
  8.  
  9. Korelacijski podupit
  10. Nadji sve ljude koji imaju placu vecu od prosjeka svog odjela
  11. - Uradnjeno u prezentaciji, nisam prepisao
  12.  
  13.  
  14.  
  15. Vidjeti koje opcine nemaju radnike u firmi
  16.  
  17. SELECT sifra_opcine, naziv_opcine
  18. FROM opcina
  19. WHERE sifra_opcine NOT IN (SELECT sifra_opcine FROM djelatnik);
  20.  
  21. Primjer iz ispita:
  22. Nać profesora koji nije dao pet
  23.  
  24. SELECT sifra, naziv
  25. FROM prof
  26. WHERE sifra NOT IN (SELECT sifra_prof FROM ispit WHERE ocjena = 5)
  27.  
  28.  
  29.  
  30. Koristeci "EXISTS"
  31.  
  32. SELECT sifra_opcine, naziv_opcine
  33. FROM opcina o
  34. WHERE NOT EXISTS (SELECT sifra_opcine
  35. FROM djelatnik WHERE sifra_opcine=o.sifra_opcine);
  36.  
  37.  
  38.  
  39. Pregled odjela u kojima radi 2 ili više ženskih djelatnika
  40. Izgled pregleda:
  41. Sifra_Odjela Naziv_odjela Broj_djelatnika
  42.  
  43. SELECT o.sifra_odjela, o.naziv_odjela, count(*) broj_djelatnika
  44. FROM odjel o, radno_mjesto r, djelatnik d
  45. WHERE d.sifra_radmj=r.sifra_radmj
  46. AND r.sifra_odjela=o.sifra_odjela
  47. AND spol = 'Ž'
  48. GROUP BY o.sifra_odjela, o.naziv_odjela
  49. HAVING count(*)>=2;
  50.  
  51.  
  52.  
  53. Pregled prosjecnih placa i suma placa po radnim mjestima. Prikazuju se samo ukupne place vece od 4000. Sortiramo rezultat po vrijednosti prosjecne place
  54.  
  55. SELECT r.sifra_radmj, naziv_radmj, AVG(placa) Prosjecna_Placa, SUM(placa) Suma_Placa
  56. FROM radno_mjesto r, djelatnik d
  57. WHERE d.sifra_radmj=r.sifra_radmj
  58. GROUP BY r.sifra_radmj, naziv_radmj
  59. HAVING SUM(placa)>4000
  60. ORDER BY AVG(placa) desc;
  61.  
  62.  
  63. Pregled opcina iz kojih je zaposleno vise od jednog IT programera.
  64.  
  65. SELECT o.sifra_opcine, o.naziv_opcine, count(*)
  66. FROM opcina o, radno_mjesto r, djelatnik d
  67. WHERE d.sifra_radmj=r.sifra_radmj
  68. AND d.sifra_opcine=o.sifra_opcine
  69. AND r.naziv_radmj='Programer'
  70. GROUP BY o.sifra_opcine, o.naziv_opcine
  71. HAVING count(*)>=2;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement