Отпремање презентације траје. Молимо да сачекате

Отпремање презентације траје. Молимо да сачекате

My SQL.

Сличне презентације


Презентација на тему: "My SQL."— Транскрипт презентације:

1 My SQL

2 Primjer: evidencija rada na projektima
Zaposleni Plate Projekti ZaposleniID Ime zaposlenog Adresa zaposlenog Telefon zaposlenog Tip posla Tip posla Opis posla Plata ProjekatID Naziv projekta Budžet projekta MenadžerID Menadžer MenadžerID Ime menadžera Lokacija menadžera Zaposleni-Projekti ZaposleniID ProjekatID Datum početka rada zaposlenog na projektu Datum završetka rada zaposlenog na projektu

3 E-R dijagram

4 Upiti 1. Naći id i imena svih zaposlenih SELECT ZAP_ID, IME_ZAP FROM zaposleni; 2. Naći sve podatke o svim zaposlenim SELECT * FROM zaposleni; 3. Naći imena svih zaposlenih iz Podgorice SELECT IME_ZAP FROM zaposleni WHERE ADR_ZAP="Pg";

5 DISTINCT 4. Naći sve gradove iz kojih su zaposleni SELECT ADR_ZAP FROM zaposleni; SELECT DISTINCT ADR_ZAP 5. Naći iz koliko različitih gradova su zaposleni SELECT COUNT( DISTINCT ADR_ZAP)

6 GROUP BY, HAVING 6. Naći koliko zaposlenih dolazi iz pojedinih gradova SELECT COUNT(*), ADR_ZAP FROM zaposleni GROUP BY ADR_ZAP; 7. Naći sve gradove iz kojih dolaze po 2 zaposlena GROUP BY ADR_ZAP HAVING COUNT(*)=2;

7 ORDER BY 8. Naći sve zaposlene sortirane abecednim redom po gradu iz kojeg dolaze a u okviru svakog grada po imenu zaposlenog u opadajućem redosledu SELECT ADR_ZAP, IME_ZAP FROM zaposleni ORDER BY ADR_ZAP asc, IME_ZAP desc; 9. Naći tipove posla koje radi više od 2 zaposlena SELECT COUNT(*), TIP_POSLA GROUP BY TIP_POSLA HAVING COUNT(*)>2;

8 Spajanje 10. Naći dekartov proizvod relacija zaposleni i posao SELECT * FROM zaposleni, posao; 11. Naći spajanje relacija zaposleni i posao FROM zaposleni, posao WHERE zaposleni.TIP_POSLA=posao.TIP_POSLA; 12. Naći koliko n-torki ima dekartov proizvod a koliko spajanje SELECT COUNT(*) SELECT COUNT (*) FROM zaposleni, posao; FROM zaposleni, posao

9 Spajanje 13. Naći ime zaposlenog, opis i platu posla koje obavljaju. Urediti po imenu zaposlenog u opadajućem redosledu. SELECT IME_ZAP, OPIS_POSLA, PLATA FROM zaposleni Z, posao P WHERE Z.TIP_POSLA=P.TIP_POSLA ORDER BY IME_ZAP desc; 14. Naći opis posla i platu za zaposlene koji rade na projektu P1. SELECT DISTINCT OPIS_POSLA, PLATA FROM posao P, zaposleni Z, zap_proj X WHERE P.TIP_POSLA = Z.TIP_POSLA AND Z.ZAP_ID = X.ZAP_ID AND X.PRO_ID = "P1";

10 Samospoj 15. Naći sve zaposlene koji rade isti tip posla kao Senić Radoš SELECT Z2.IME_ZAP FROM zaposleni Z1, zaposleni Z2 WHERE Z1.TIP_POSLA = Z2.TIP_POSLA AND Z1.IME_ZAP = "Senić Radoš"; 16. Naći sve zaposlene koji su iz istog grada kao Petrović Rajko WHERE Z1.ADR_ZAP = Z2.ADR_ZAP AND Z1.IME_ZAP = "Petrović Rajko";

11 Spajanje 17. Naći poslove i plate koje rade zaposleni koji su angažovani na projektu kojim upravlja menadžer Jana Marković SELECT OPIS_POSLA, PLATA FROM posao P, zaposleni Z, zap_proj X, projekti R, menadzer M WHERE P.TIP_POSLA=Z.TIP_POSLA AND Z.ZAP_ID=X.ZAP_ID AND X.PRO_ID=R.PRO_ID AND R.MENADZER_ID=M.MENADZER_ID AND M.IME_MEN="Jana Marković ";

12 Podupiti 18. Naći zaposlene koji nisu angažovani ni na jednom projektu SELECT ZAP_ID, IME_ZAP FROM zaposleni WHERE ZAP_ID NOT IN (SELECT ZAP_ID FROM zap_proj ); 19. Naći menadžere koji ne vode ni jedan projekat SELECT MENADZER_ID, IME_MEN FROM menadzer WHERE MENADZER_ID NOT IN (SELECT MENADZER_ID FROM projekti);

13 Podupiti 20. Naći zaposlene na projektu Tržni centar Enigma Bar koji primaju najveću platu u preduzeću SELECT Z.ZAP_ID, IME_ZAP, OPIS_POSLA, PLATA FROM zaposleni Z, posao P, zap_proj X, projekti R WHERE P.TIP_POSLA=Z.TIP_POSLA AND Z.ZAP_ID=X.ZAP_ID AND X.PRO_ID=R.PRO_ID AND R.NAZ_PRO= "Tržni centar Enigma Bar " AND P.PLATA= (SELECT MAX(PLATA) FROM posao);

14 Podupiti 21. Naći projekte koji imaju budžet veći od svih projekata kojim upravljaju menadžeri iz Podgorice SELECT PRO_ID, NAZ_PRO, BUDZET FROM projekti P, menadzer M WHERE P.MENADZER_ID=M.MENADZER_ID AND P.BUDZET> ALL (SELECT BUDZET FROM menadzer M, projekti P WHERE M.MENADZER_ID=P.MENADZER_ID AND M.LOK_MEN='Podgorica');

15 Podupiti 22. Naći zaposlene koji imaju veću ili jednaku platu od svih zaposlenih angažovanih na projektu Hotel Mediteran Budva SELECT ZAP_ID, IME_ZAP, OPIS_POSLA, PLATA FROM zaposleni Z, posao P WHERE Z.TIP_POSLA=P.TIP_POSLA AND P.PLATA >= ALL (SELECT PLATA FROM zaposleni Z, posao P, zap_proj X, projekti R WHERE Z.TIP_POSLA=P.TIP_POSLA AND Z.ZAP_ID = X.ZAP_ID AND X.PRO_ID= R.PRO_ID AND R.NAZ_PRO = 'Hotel Mediteran Budva');

16 Datumi 23. Naći sve zaposlene koji su počeli rad na projektima u tekućoj godini SELECT Z.ZAP_ID, IME_ZAP, DAT_POC FROM zaposleni Z, zap_proj X WHERE Z.ZAP_ID = X.ZAP_ID AND X.DAT_POC BETWEEN " " AND " " ; 24. Naći zaposlene koji su počeli sa radom u tekućoj godini a zavrsiće u narednoj SELECT Z.ZAP_ID, IME_ZAP, DAT_POC, DAT_ZAV X.DAT_POC BETWEEN " " AND " " AND X.DAT_ZAV BETWEEN " " AND " ";

17 Datumi 25. Naći projekte na kojima su angažovani zidari kao i njihova imena, koji sa radom na tim projektima završavaju do kraja tekuće godine SELECT NAZ_PRO, IME_ZAP, OPIS_POSLA FROM zaposleni Z, posao P, zap_proj X, projekti R WHERE Z.TIP_POSLA=P.TIP_POSLA AND Z.ZAP_ID = X.ZAP_ID AND X.PRO_ID= R.PRO_ID AND P.OPIS_POSLA= "Zidar" AND X.DAT_ZAV< " ";

18 26. Naći zaposlene i projekte kojima upravljaju menadžeri Jana Marković i Jovanović Maša SELECT IME_ZAP, NAZ_PRO FROM projekti P, zap_proj Z, menadzer M, zaposleni X WHERE M.MENADZER_ID=P.MENADZER_ID AND P.PRO_ID = Z.PRO_ID AND Z.ZAP_ID=X.ZAP_ID AND (M.IME_MEN="Jana Marković" OR M.IME_MEN="Jovanović Maša") ;

19 Ispit-primjer Sastaviti SQL upite i snimiti na My Documents pod nazivima: ImePrezime1 ImePrezime2 ImePrezime3 Poslati upite na

20 Naći nazive projekata na kojima su angažovani zidari.
Naći ukupne budžete projekata po menadžerima u rastućem abecednom redu 3. Naći menadžere koji vode projekte sa najvećim budžetom

21 SELECT NAZ_PRO FROM projekti P, zap_proj X, zaposleni Z, posao O WHERE P.PRO_ID = X.PRO_ID AND X.ZAP_ID= Z.ZAP_ID AND Z.TIP_POSLA=O.TIP_POSLA AND O.OPIS_POSLA="Zidar"; 2. SELECT MENADZER_ID, SUM(BUDZET) FROM projekti GROUP BY MENADZER_ID ORDER BY MENADZER_ID asc;

22 3. SELECT IME_MEN, NAZ_PRO, BUDZET FROM menadzer M, projekti P WHERE M
3. SELECT IME_MEN, NAZ_PRO, BUDZET FROM menadzer M, projekti P WHERE M.MENADZER_ID=P.MENADZER_ID AND P.BUDZET = (SELECT MAX(BUDZET) FROM projekti);

23 Zadaci za vježbu Naći imena zaposlenih koji su zidari. Urediti abecednim redom. Naći koliko projekata vode pojedini menadžeri. Prikazati po imenu menadzera u rastućem abecednom redu. Naći menadžere koji vode 2 ili više projekata. Naći projekte koji imaju istog mendžera kao projekat Tržni centar Enigma Bar Naći sve zaposlene i poslove koje obavljaju za projekte koje vodi Jana Marković Naći koliko zaposlenih ima veću platu od svih koji rade na projektu Hotel Mediteran Budva Naći koliko zaposlenih je započelo rad na projektima u tekućoj godini a završava u narednoj.


Скинути ppt "My SQL."

Сличне презентације


Реклама од Google