120 likes | 211 Vues
Adatbázisok használata Egytáblás csoportosító lekérdezések. 2012.02.21 Rózsa Győző raver @ raver.myip.hu. SELECT FROM WHERE GROUP BY HAVING ORDER BY ;. Csoport fv-k. AVG Átlag SUM Összeg MIN MAX COUNT Darabszám. Csoportosítás – példa.
E N D
Adatbázisok használataEgytáblás csoportosító lekérdezések 2012.02.21 Rózsa Győzőraver@raver.myip.hu
Csoport fv-k • AVG • Átlag • SUM • Összeg • MIN • MAX • COUNT • Darabszám
Csoportosítás – példa • Részlegenkénti átlagfizetésSELECT deptnoas ” RESZLEG”, avg(nvl(comm,0)+sal) as ”ATLAGFIZU” FROM empGROUP BY deptno;
HAVING • Szűri az eredményeket, hasonlóan, mint a WHERE, de ez már a csoportosítás után • Példa:SELECT deptnoas ” RESZLEG”, avg(nvl(comm,0)+sal) as ”ATLAGFIZU” FROM empGROUP BY deptnoHAVING (avg(nvl(comm,0)+sal)) > 1899;
Példa2 SELECT deptnoas ” RESZLEG”, avg(nvl(comm,0)+sal) as ”ATLAGFIZU” FROM empWHERE sal > 1500GROUP BY deptnoHAVING (avg(nvl(comm,0)+sal)) > 1899;
Gyakorló feladatok • Listázza ki munkakörönként az átlagfizetéseket, 2 tizedesre kerekítve • SELECT jobas ” Munkakör”, ROUND(avg(sal),2) as ”Átlag”FROM empGROUP BY job; • Ugyanezt rendezzük átlagfizetés szerint:ORDER BY ”Átlag” DESC/ASC
Gyakorló feladatok • Listázza ki azokat a részlegeket, ahol legalább 5en dolgoznak! (A Dolgozók száma szerint rendezzen)SELECT COUNT(*) AS ”Dolgozók száma”,deptno AS „Részleg száma”FROM emp • GROUP BY deptno • HAVING COUNT(*) >= 5 • ORDER BY ”Dolgozók száma”;
Gyakorló feladatok • Listázza részlegenként és munkakörönként az 1500$-nál magasabb jövedelmű dolgozók átlagjövedelmét, ahol ez 2500$-nál kisebb! Rendezze a listát részleg, és munkakör szerint!SELECT deptnoas ”Részleg”, jobas ”Munkakör”, avg(sal+nvl(comm,0)) as ”Átlagfizu”FROM empwheresal+nvl(comm,0) > 1500groupbydeptno, jobhavingavg(sal+nvl(comm,0)) < 2500ORDER BY ”Részleg” AND ”Munkakör”;
Féléves feladat • Következő órára kell hozni a féléves feladathoz tartozó táblaterveket normalizálva. • Itt már konkrét táblaneveket várok, és attribútumokat, illetve kulcsokat. • Beadás formátuma: • Word dokumentumban • Email-ben elküldve nekem (raver@raver.myip.hu) • Ha jóváhagytam, akkor ezt nyomtassák ki, és ellátom az aláírásommal
Féléves feladat • Írjuk fel a tárolandó adatokat • Ismerjük föl a függőségeket • Normalizáljunk • Írjuk fel a keletkezett táblákat • Jelöljük a kulcsokat