Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---Primer 1
- Prikazati mbr, ime, prz, plt, za prva tri radnika po visini plt - u nerastucem redosledu plt
- SELECT r.mbr, r.ime, r.prz, r.plt
- FROM radnik r
- WHERE ( SELECT COUNT (*) FROM radnik r1 WHERE r1.plt > r.plt) <3
- ---Primer 2
- za svakog rukovodioca projekta prikazati mbr, ime, prz i prosecan broj casova msesecnog angazovanja sa projekatata
- na kojima radi i kojima rukovodi
- SELECT r.mbr, r.ime, r.prz. avg(rp.brc)
- FROM radnik r, radproj, rp
- WHERE r.mbr=pr.mbr
- GROUP BY r.mbr, r.ime, r.prz
- HAVING r.mbr IN (SELECT DISTINCT ruk FROM projekat)
- bolja varijanta prethodnog primera
- SELECT r.mbr, r.ime, r.prz, avg(rp.brc)
- FROM radnik r, radproj rp, projekat p
- WHERE r.mbr=rp.mbr AND r.mbr=p.ruk AND p.spr=rp.spr
- GROUP BY r.mbr, r.ime, r.prz
- ---Primer 3
- za svaki projekat spr, nap, prosecan broj casova mesecnog angazovanja na projektu i broj radnika na projektu.
- Ako je taj broj radnika > 3 i ako je taj prosecan broj casova mesecnog angazovanja < prosecnog broja casova mesecnog
- angazovanja rukovodioca tog projekta
- SELECT p.spr, p.nap, avg(rp.brc), COUNT(*)
- FROM projekat p, radproj rp
- WHERE p.spr=rp.spr
- GROUP BY p.spr, p.nap, p.ruk
- HAVING COUNT(*) > 3 AND avg(rp.brc) < ( SELECT avg (rp1.brc) FROM radproj r1 WHERE rp1.mbr=p.ruk)
- ---Primer 4
- Za svakog rukovodioca projekta prikazati mbr, ime, prz, plt. Ako mu je plt > prosecne rukovodi sa bar 3 projekta i
- prosecni broj casova mesecnog angazovanja na projektima kojim rukovodi i radi je < od prosecnog broja mesecnog
- angazovanja svih radnika tih projekata
- primer :
- MBR SPR BRC
- 10 10 20
- 10 20
- 10 30 25 //prosecan broj casova angazovanja za tog radnika
- 10 40
- 10 50 30
- 20 10
- 30 10
- 20 30
- 40 30
- 50 50
- SELECT r.mbr, r.ime, r.prz, r. plt
- FROM radnik r, radproj rp, projekat p
- WHERE r.mbr=rp.mbr AND r.mbr=p.ruk AND rp.spr=p.spr
- GROUP BY r.mbr, r.ime, r.prz, r.plt
- HAVING COUNT(*) >=3 AND r.plt > (SELECT avg(plt) FROM radnik) AND avg(rp.brc) <
- (SELECT avg(rp1.brc) FROM radproj pr1, projekat p1 WHERE rp1.spr=p1.spr AND r.mbr=p1.ruk AND r.mbr=rp1.mbr)
- ---Primer 5
- Za svaki projekta prikazati spr, naziv ptojekta, mbr njegovog rukovodioca. Njegovo ime i prezime ako je suma
- casova na tom projektu < sume casova njegovog rukovodioca.(svi projekti na kojima radi)
- SELECT p.spr, p.nao, r.mbr, r.ime, r.prz
- FROM projekat p, radnik r, radproj rp, radproj rp1
- WHERE p.ruk=r.mbr AND p.spr=rp.spr AND r.mbr=rp1.mbr
- GROUP BY p.spr, p.nap, r.mbr, r.ime, r.prz
- HAVING SUM(rp.brc) <( SELECT SUM(rp1.brc) FROM radproj rp1 WHERE rp1.mbr=r.mbr )
- ---Lekcija : Pogledi
- SINTAKSA {
- CREATE VIEW ime [(lista_obelezja)]
- SELECT upit
- }
- ---primer:
- primer za pravljenje pogleda koji ce skladistiti informacije o prosecima vezanim za ranika
- CREATE VIEW proseci(mbr, imre, prz, brp, pma)
- AS SELECT r.mbr, r.ime, r.prz, COUNT(*), avg(rp.brc)
- FROM radnik r, radproj rp
- WHERE r.mbr=rp.mbr
- GROUP BY r.mbr, r.ime, r.prz
- ---Primer 1:
- za sve radnike koje zaradjuju vise od proseka a radi na manje od 3 projekta, prikazati mbr, ime, prz, i prosecno
- mesecno angazovanje
- SELECT pr.mbr, pr.ime, pr.prz, pr.pma
- FROM proseci pr, radnik r
- WHERE pr.brp < 3 AND pr.mbr = r.mbr AND r.plt > ( SELECT avg(plt) FROM radnik)
- ---primer 2:
- za svakog rukovodioca projekta koji zaradjuje vise od sefa, a prosecno mesecno angazovanje na projektima na kojima
- radi i i rukovodi mu je < prosecnog mesecnog angazovanja svih rukovodioca projekata. Prikazi mbr, ime, prz, plt i
- broj projekata koji rukovodi i mesecno prosecno angazovanje
- CREATE VIEW rukproj (mbr, ime, prz, bpr //broj projekata kojima rukovodi, pmarr //promescno mesecno angazovanje
- gde samo rukovodi)
- AS SELECT r.mbr, r.ime, r.prez COUNT(*), avg(rp.brc)
- FROM radnik r, radproj rp, projekat p
- WHERE r.mbr=rp.mbr AND r.mbr=p.ruk AND p.spr=rp.spr
- GROUP BY r.mbr, r.ime, r.prz
- SELECT rk.mbr, rk.ime, rk.prz, rk.plt, rk.brp, rk.pmarr
- FROM rukproj rk, radnik r, radnik r1
- WHERE rk.mbr=r.mbr AND r.sef=rk.mbr AND r.plt > r1.plt AND rk.pmarr < ( SELECT avg(pmarr) FROM rukproj)
- //nalazenje prosecnog broja casova angazovanja svih rukovodilaca
- SELECT avg (rp.brc)
- FROM radproj rp
- WHERE pr.mbr IN ( SELECT DISTINCT ruk FROM projekat)
Add Comment
Please, Sign In to add comment