Részletező csoportosítások 2012. 04.03. Hári Veronika

Slides:



Advertisements
Hasonló előadás
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Advertisements

10. gyakorlat SQL SELECT.
2012. tavaszi félév Véső Tamás. A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik. Ismeretük szükséges,
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 4. Előadás Az SQL adatbázisnyelv Sorváltozók Alkérdések Ismétlődő sorok Összesítések 1.
Lekérdezések SQL-ben Relációs algebra A SELECT utasítás
Ablak módszer Rózsa Győző
Analitikus függvények
Analitikus, statisztikai és szélsőérték fv-k Hári Veronika
Analitikus, statisztikai és szélsőérték fv-k Rózsa Győző
2012. tavaszi félév Vitéz Gergely. A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik. Ismeretük szükséges,
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Adatbázisok használata 1 (1. gyakorlat)
2012. tavaszi félév Véső Tamás. A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik. Ismeretük szükséges,
Azonosítók és képzési szabályaik
Adatbázisok használata
2012. március 6. Rózsa Győző Interaktív környezet március Rózsa Győző
Többtáblás lekérdezések, allekérdezések Rózsa Győző
SQL – DQL (Data Query Language ) adat lekérdezések
SQL Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések
2006. október 2.Markó Tamás, PTE TTK1 Az Oracle SQL 4. Összesítés és csoportosítás lekérdezésekben. Halmazműveletek.
2005. december 12.Markó Tamás, PTE TTK1 Az Oracle SQL 11. Elemzések támogatása.
ADATBÁZISOK
ADATBÁZISOK
ADATBÁZISOK
ADATBÁZISOK
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
Részletező csoportosítások Rózsa Győző
ADATBÁZIS HASZNÁLAT I. 2. gyakorlat. Figyelem!!! A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem.
Érettségi feladatok megoldása LINQ-kel
Összesítés és csoportosítás lekérdezésekben. Halmazműveletek.
Nézettáblák létrehozása, módosítása és törlése
Algebrai műveleti gráf optimalizálása ● Mennyi könyvet készített az idén legtöbbet kinyomtató Budapesti könyvkiadó? ● kiado(kod,nev,cim) ● konyv ( kiado,cim,ar,ev.
- adatbázisséma definiálása (DDL) Data Definition Languages, - adatok aktualizálása (DML),Data Maniputaion Language - lekérdezési lehetőségek (DML) Data.
SQL.
Az SQL nyelv alapjai.
Nézettáblák, felső-N analízis Március 20. Rózsa Győző.
Access XP Kifejezés-szerkesztő Összehasonlító operátorok:
Adatbázis adminisztrátori ismeretek
2012. tavaszi félév Véső Tamás. Kérdezze le minden dolgozó nevét, jövedelmét, részlegének nevét és a részlegében dolgozók legkisebb és legnagyobb jövedelmét,
ADATBÁZIS HASZNÁLAT I. 4. gyakorlat. Figyelem!!! A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem.
2012. tavaszi félév Véső Tamás Véső Tamás OE­NIK / 18.
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
2012. tavaszi félév Véső Tamás Véső Tamás OE­NIK / 29.
Részletező csoportosítások Rózsa Győző
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!
Adatbázis használat I. 2. gyakorlat.
ADATBÁZIS HASZNÁLAT I. 3. gyakorlat. Figyelem!!! A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem.
Adatbázisok használata 2. gyakorlat Rózsa Győző
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 10. gyakorlat SQL SELECT, Összekapcsolás, Nézettáblák.
– SQL 3: SELECT - 1. – Tarcsi Ádám, január 31. Adatbázis gyakorlat.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
SQL SELECT parancsok Kottyán László. A bemutató mintatáblái.
1 Informatikai Szakképzési Portál Adatbázis kezelés DQL – Adatlekérdező nyelv.
Adatbázisok Fleiner Rita, Tankönyv:
Ma az un. Relációs adatmodelleket használjuk.
5. gyakorlat Fleiner Rita.
Többtáblás lekérdezések, hierarchikus lekérdezések, allekérdezések
2. AB gyakorlat Egytáblás csoportosító lekérdezések.
Adatbázis-kezelés 3-4. Adatok lekérdezése utasítás általános formája SELECT [ALL/DISTINCT] {*/, …, } FROM [ ], …, [ ] [WHERE GROUP BY, …, HAVING ORDER.
Adatbázis-kezelés. Középszint: –1-2 tábla –SQL-nyelv és lekérdező-rács használata –Űrlap és jelentés készítés Emelt szint: –több tábla (kapcsolatok) –több.
– SELECT - 1. – Tarcsi Ádám január Adatbázis gyakorlat.
Haladó Programozás Adatbázis-elérési módszerek összehasonlítása
SQL aggregálás, csoportosítás és összekapcsolás Adatbázisok 1.
Naplóelemzés Log Parserrel
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda
Előadás másolata:

Részletező csoportosítások Hári Veronika

A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!

Részletező csoportosítások Elemző jellegű feladatokhoz Részeredmények képzése  csoportfüggvények részértékei Rugalmas csoportosítás A GROUP BY hatékonyabb használata!

GROUPING SETS fv GROUP BY kiegészítése Segítségével több szempont alapján is csoportosíthatunk

Példa 1 Képezzen részösszegeket a fizetés (sal) oszopon az alábbi csoportosításokban:  mgr, deptno, job  deptno, job  mgr Egyetlen lekérdezésben?!

Megoldás: GROUPING SETS SELECT mgr, deptno, job, SUM(sal) FROM emp GROUP BY GROUPING SETS((mgr, deptno, job), (deptno, job), (mgr));

Példa 2 Listázzunk átlagfizetéseket  főnök és részleg  részleg és munkakör szerint.

Megoldás SELECT NVL(mgr, 0), deptno, NVL(job, 'Nincs'), AVG(sal) FROM emp GROUP BY GROUPING SETS ( (mgr, deptno), (deptno, job) )

GROUP BY GROUPING SETS hátrányok Túl bonyolult, túl hosszú Ritkán van arra szükségünk, hogy teljesen különböző csoportosításokat végezzünk Általában a csoportosítások között kapcsolat van Erre rövidítést, ez gyakran használt: ROLLUP

ROLLUP GROUP BY résznél használjuk Segítségével egy lekérdezésen belül egyszerűen juthatunk olyan adatokhoz, melyhez minimum két külön lekérdezést kellene írnunk

ROLLUP - példa Írjuk meg egy szkriptbe a következő lekérdezéseket: SELECT job, deptno, avg(sal) FROM emp GROUP BY job, deptno; SELECT job, deptno, avg(sal) FROM emp GROUP BY ROLLUP (job, deptno); SELECT job, deptno, avg(sal) FROM emp GROUP BY ROLLUP (deptno, job);

Példa 3 Listázzuk ki részlegenként, és ezen belül foglalkozásonként az összfizetéseket, továbbá a részlegenkénti összfizetéseket, végül a vállalati összfizetést, és ugyanezen csoportosításban a létszámokat is. Régi megoldás: külön-külön lekérdezésekkel. Megoldható GROUPING SETS-szel is.

Régi megoldás SELECT deptno, job, SUM(sal), COUNT(*) FROM emp GROUP BY deptno, job; SELECT deptno, SUM(sal), COUNT(*) FROM emp GROUP BY deptno; SELECT SUM(sal), COUNT(*) FROM emp;

Újabb megoldás SELECT deptno, job, SUM(sal), COUNT(*) FROM emp GROUP BY GROUPING SETS((deptno, job), (deptno)); Nem teljesen jó! A teljes összeget nem adja meg.

Új megoldás: ROLLUP SELECT deptno, job, SUM(sal), COUNT(*) FROM emp GROUP BY ROLLUP (deptno, job); ROLLUP(job, deptno): A sima kétmezős GROUP BY-on kívül kiszámolja az egyes munkakör-átlagokat, és a teljes átlagot is

Példa 4 Listázza ki munkakörönként és azon belül részlegenként az összfizetést, az átlagfizetést, valamint a csoportlétszámot.

Megoldás SELECT job AS munkakör, deptno AS részleg, SUM(sal) AS részösszeg, ROUND(AVG(sal),0) AS átlag, COUNT(*) AS létszám FROM emp GROUP BY ROLLUP (job, deptno);

DECODE fv használata Mi van, ha szeretnénk kiírni, hogy a munkakörök átlagfizetése, illetve az összes átlagfizetést? NVL fv segítségével megoldható lenne…

DECODE fv használata - KÓD select nvl(job,'Átlag') as Munkakör, DECODE(nvl(job,'x'), 'x', null, nvl(to_char(deptno), 'Munkakörösszes')) as részleg, avg(sal) as atlag from emp group by rollup (job, deptno);

Köszönöm a figyelmeteket!