1 / 12

Adatbázisok használata Egytáblás csoportosító lekérdezések

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.

xia
Télécharger la présentation

Adatbázisok használata Egytáblás csoportosító lekérdezések

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Adatbázisok használataEgytáblás csoportosító lekérdezések 2012.02.21 Rózsa Győzőraver@raver.myip.hu

  2. SELECTFROMWHEREGROUP BYHAVINGORDER BY;

  3. Csoport fv-k • AVG • Átlag • SUM • Összeg • MIN • MAX • COUNT • Darabszám

  4. Csoportosítás – példa • Részlegenkénti átlagfizetésSELECT deptnoas ” RESZLEG”, avg(nvl(comm,0)+sal) as ”ATLAGFIZU” FROM empGROUP BY deptno;

  5. 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;

  6. Példa2 SELECT deptnoas ” RESZLEG”, avg(nvl(comm,0)+sal) as ”ATLAGFIZU” FROM empWHERE sal > 1500GROUP BY deptnoHAVING (avg(nvl(comm,0)+sal)) > 1899;

  7. 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

  8. 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”;

  9. 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”;

  10. 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

  11. 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

  12. Köszönöm a figyelmeteket!

More Related