Csoportosított adatok megjelenítése sorhalmaz függvények használatával



Hasonló dokumentumok
Csoportosított adatok megjelenítése összesítı függvények használatával. Copyright 2004, Oracle. All rights reserved.

Adatbázis-kezelés. 7. SQL Táblák összekapcsolása

Adatok szűrése, rendezése

LEKÉRDEZÉSEK SQL-BEN. A relációs algebra A SELECT utasítás Összesítés és csoportosítás Speciális feltételek

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

Lekérdezések az SQL SELECT utasítással

Adatbázis használat I. 2. gyakorlat

Adatbázisok* tulajdonságai

5.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

Adattípusok. Max. 2GByte

Adattípusok. Max. 2GByte

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

Adatbázisok I A relációs algebra

Adatbázisok I. Az SQL nyelv

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

ADATBÁZISOK I. Az esetleges hibákat kérlek a csongor@csongorbokay.com címen jelezd! Utolsó módosítás: március 20.

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

Lekérdezések az SQL SELECT utasítással

BEVEZETÉS Az objektum fogalma

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

A könyv tartalomjegyzéke

DLookup függvény 1. (5)

WHERE záradék (további lehetıségek) SQL specialitások, nem írhatók át relációs algebrába: LIKE. NULL értékek. Az ismeretlen (unknown) igazságérték

Lekérdezések az SQL SELECT utasítással. Copyright 2004, Oracle. All rights reserved.

Paraméteres-, összesítı- és módosító lekérdezések

Adatbázis használat I. 2. gyakorlat

LOGISZTIKAI ADATBÁZIS RENDSZEREK UNIÓ, ALLEKÉRDEZÉSEK

LOGISZTIKAI ADATBÁZIS RENDSZEREK SQL ALAPOK,

INFORMATIKAI ALAPISMERETEK

Adatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31

Relációs algebrai lekérdezések átírása SQL SELECT-re (példák)

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Az SQL*Plus használata

SELECT. SELECT(projekció) FROM(forrás) WHERE(szűrés) GROUPBY(csoportosítás) HAVING(csoportok szűrése) ORDERBY(rendezés)

Programozás I gyakorlat

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

4. Előadás Az SQL adatbázisnyelv

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Elemi alkalmazások fejlesztése IV.

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ KÖZÉPSZINT% GYAKORLATI ÉRETTSÉGI VIZSGA. É R E T T S É G I V I Z S G A május 15.

ADATBÁZISKEZELÉS ADATBÁZIS

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Készítette: Szabóné Nacsa Rozália

ADATBÁZIS HASZNÁLAT I. 4. gyakorlat

Feladatlap. I. forduló

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14

Adatbázis-kezelés, információs-rendszerek

CAD-CAM informatikus CAD-CAM informatikus

INFORMATIKAI ALAPISMERETEK

Adatbázis-kezelés. Harmadik előadás

Címzett: Markus Goddemeier Fax: +49 (0)

A SZERZŐDÉS TELJESÍTÉSÉRE VONATKOZÓ INFORMÁCIÓK

irányítószám: Ország: Magyarország

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

SQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák

Párhuzamos programozás

Adatbáziskezelés. SQL parancsok. Függvények

FIT-jelentés :: Zoltánfy István Általános Iskola 6772 Deszk, Móra F. u. 2. OM azonosító: Telephely kódja: 005. Telephelyi jelentés

INFORMATIKA. PRÓBAÉRETTSÉGI május KÖZÉPSZINT. Pontozási és javítási útmutató

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Bódy Bence Az SQL egy újabb példán keresztül

Több tábla összekapcsolásán alapuló lekérdezések. Copyright 2004, Oracle. All rights reserved.

ÉVKÖZI MINTA AZ EGÉSZSÉGÜGYI BÉR- ÉS LÉTSZÁMSTATISZTIKÁBÓL. (2005. III. negyedév) Budapest, január

M4.1. KISFESZÜLTSÉGŰ ÁRAMVÁLTÓ MŰSZAKI SPECIFIKÁCIÓ:

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal.

TÁJÉKOZTATÓ A SZERZ DÉS MÓDOSÍTÁSÁRÓL I. SZAKASZ: A SZERZ DÉS ALANYAI I.1) AZ AJÁNLATKÉR KÉNT SZERZ D FÉL NEVE ÉS CÍME

Az éves statisztikai összegezés STATISZTIKAI ÖSSZEGEZÉS AZ ÉVES KÖZBESZERZÉSEKRŐL A KLASSZIKUS AJÁNLATKÉRŐK VONATKOZÁSÁBAN

Óravázlat. az ECDL oktatócsomaghoz. 5. modul. Adatbáziskezelés. Krea Kft Budapest, Szőlő u 21. Tel/fax: / krea@krea.

8. melléklet a 92/2011. (XII. 30.) NFM rendelethez A SZERZŐDÉS TELJESÍTÉSÉRE VONATKOZÓ INFORMÁCIÓK I. SZAKASZ: A SZERZŐDÉS ALANYAI

FIT-jelentés :: Széchenyivárosi Óvoda és Általános Iskola 6000 Kecskemét, Lunkányi János u. 10. OM azonosító: Intézményi jelentés

Lekérdezések az SQL-ben 1.rész

I. 4.) Az ajánlatkéra más ajánlatkérak nevében folytatja-e le a közbeszerzési eljárást? nem X

Statisztikai szoftverek Molnár Gábor József

Adatbázisok elmélete 9. előadás

Fordítóprogramok Készítette: Nagy Krisztián

SQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére

Lekérdezések az SQL-ben 1.rész

Analízis elo adások. Vajda István október 3. Neumann János Informatika Kar Óbudai Egyetem. Vajda István (Óbudai Egyetem)

Több tábla összekapcsolásán alapuló lekérdezések

Hallgató i Ú tmutató. Beadandó anyag követelményei

Az éves statisztikai összegezés STATISZTIKAI ÖSSZEGEZÉS AZ ÉVES KÖZBESZERZÉSEKRŐL A KLASSZIKUS AJÁNLATKÉRŐK VONATKOZÁSÁBAN

BOLYAI MATEMATIKA CSAPATVERSENY FŐVÁROSI DÖNTŐ SZÓBELI (2005. NOVEMBER 26.) 5. osztály

SELECT DISTINCT deptno FROM emp; (distinct) SELECT STATEMENT HASH UNIQUE TABLE ACCESS FULL EMP

1.1. Feladat Listázza ki a 20-as részleg dolgozóinak nevét, belépési idejét, foglalkozását a nevek szerint csökkenően rendezve.

Alkalmazói rendszerek ACCESS ZH - javítókulcs Informatika tanár MSC, levelező tagozat, január 06.

JAVÍTÁSI-ÉRTÉKELÉSI INFORMATIKA ÚTMUTATÓ. ÉRETTSÉGI VIZSGA október 19. ÉRETTSÉGI VIZSGA EMELT SZINT% GYAKORLATI MINISZTÉRIUMA EMBERI ERFORRÁSOK

Gyakorlati vizsgatevékenység

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

IFRS lexikon. IAS 17 Lízingek. Lízing. Pénzügyi lízing. Operatív lízing. Fel nem mondható lízing. A lízing kezdete. A lízing futamidő kezdete

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények

MATEMATIKA ÍRÁSBELI VIZSGA május 3.

2012. tavaszi félév Vésı Tamás

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Elemi alkalmazások fejlesztése IV.

ÉRETTSÉGI VIZSGA EMELT SZINT% GYAKORLATI. ÉRETTSÉGI VIZSGA május 14. Összesen: 45 pont. Egy adott távhoz tartozó díjazás meghatározása 4 pont

FIT-jelentés :: Intézményi jelentés. Összefoglalás

B I T M A N B I v: T M A N

5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben?

Átírás:

Csoportosított adatok megjelenítése sorhalmaz függvények használatával

Célkitűzés A használható sorhalmaz függvények azonosítása A sorhalmaz függvények használatának leírása Adatok csoportosítása a GROUP BY résszel A csoportosított sorok szűrése a HAVING résszel

A sorhalmaz függvények azonosítása A sorhalmaz függvény csoportosított sorok halmazain működik, és egyetlen eredményt ad vissza csoportonként. EMPLOYEES A legmagasabb fizetés az EMPLOYEES táblában

A sorhalmaz függvények típusai AVG COUNT MAX MIN STDDEV SUM VARIANCE Sorhalmaz függvények

A sorhalmaz függvények típusai (folyt.) Függvény AVG([DISTINCT ALL]n) COUNT({* [DISTINCT ALL]expr }) MAX([DISTINCT ALL]expr) MIN([DISTINCT ALL]expr) STDDEV([DISTINCT ALL]x) SUM([DISTINCT ALL]n) VARIANCE([DISTINCT ALL]x) Leírása n átlagértéke (nullértékeket kihagyva) Azon sorok száma, amelyekre expr kiértékelése nem null (DE: * esetén az összes sorok száma, beleértve az ismétlődőket és a null értéket tartalmazókat is) Expr legnagyobb értéke (nullértékeket kihagyva) Expr legkisebb értéke (nullértékeket kihagyva) n szórása (nullértékeket kihagyva) n értékeinek összege (nullértékeket kihagyva) n szórásnégyzete (nullértékeket kihagyva)

Sorhalmaz függvények használata SELECT [column,] sorhalmaz_függvény(column),... FROM table [WHERE condition] [GROUP BY column] [ORDER BY column]; A sorhalmaz függvények általában a nullértéket tartalmazó sorokat kihagyják, a nullérték helyettesítésére használhatók az NVL, NVL2 és COALESCE függvények.

AVG és SUM sorhalmaz függvény Az AVG és SUM csak numerikus adatokra használható (a VARIANCE és STDDEV szintén). SELECT AVG(salary), MAX(salary), MIN(salary), SUM(salary) FROM employees WHERE job_id LIKE '%REP%';

MIN és MAX sorhalmaz függvény A MIN és MAX numerikus, karakteres és dátum típusú adatokra használható (LOB és LONG típusokra nem). SELECT MIN(hire_date), MAX(hire_date) FROM employees;

COUNT sorhalmaz függvény 1 COUNT(*) visszaadja a sorok számát a táblában: SELECT COUNT(*) FROM employees WHERE department_id = 50; 2 COUNT(expr) azoknak a soroknak a számát adja vissza, amelyekben expr nem nullérték: SELECT COUNT(commission_pct) FROM employees WHERE department_id = 80;

A DISTINCT kulcsszó használata COUNT(DISTINCT expr) azoknak a soroknak a számát adja vissza, amelyekben expr értéke különböző és nem nullérték Pl. a különböző (nem null) osztályazonosítók száma az EMPLOYEES táblában: SELECT COUNT(DISTINCT department_id) FROM employees;

Sorhalmaz függvények és a nullértékek A sorhalmaz függvények általában ignorálják a nullértéket tartalmazó sorokat: 1 SELECT AVG(commission_pct) FROM employees; Az NVL függvénnyel kikényszeríthető a nullértéket tartalmazó sorok figyelembe vétele: 2 SELECT AVG(NVL(commission_pct, 0)) FROM employees;

Adatcsoportok létrehozása EMPLOYEES 4400 9500 3500 6400 10033 Az EMPLOYEES tábla osztályai és azokon az átlagfizetések

Adatcsoportok létrehozása: a GROUP BY rész szintaxisa SELECT column, group_function(column) FROM table [WHERE condition] [GROUP BY group_by_expression] [ORDER BY column]; Egy tábla sorai csoportosíthatóak a GROUP BY rész használatával. A GROUP BY részben oszlop másodnevek nem szerepelhetnek.

A GROUP BY rész használata A SELECT lista minden olyan oszlopnevének, amely nem sorhalmaz függvényekben fordul elő, szerepelnie kell a GROUP BY részben. SELECT department_id, AVG(salary) FROM employees GROUP BY department_id ;

A GROUP BY rész használata (folyt.) A GROUP BY oszlopneveknek nem kötelező szerepelni a SELECT listában. SELECT AVG(salary) FROM employees GROUP BY department_id ; Sorhalmaz függvény szerepelhet az ORDER BY részben is.

Csoportosítás több oszlopnév alapján EMPLOYEES Az EMPLOYEES tábla osztályain az egyes beosztások átlagfizetései

A GROUP BY rész használata több oszlopnév esetén SELECT department_id dept_id, job_id, SUM(salary) FROM employees GROUP BY department_id, job_id ;

Sorhalmaz függvényt tartalmazó szabálytalan lekérdezések Bármely oszlopnévnek vagy kifejezésnek a SELECT listában, ha az nem aggregátor függvény, szerepelnie kell a GROUP BY részben: SELECT department_id, COUNT(last_name) FROM employees; SELECT department_id, COUNT(last_name) * ERROR at line 1: ORA-00937: not a single-group group function Az oszlopnév nem szerepel a GROUP BY részben!

Sorhalmaz függvényt tartalmazó szabálytalan lekérdezések A csoportok korlátozására a WHERE feltétel nem használható. A HAVING rész szolgál a csoportok korlátozására. Sorhalmaz függvény a WHERE feltételben nem szerepelhet. SELECT department_id, AVG(salary) FROM employees WHERE AVG(salary) > 8000 GROUP BY department_id; WHERE AVG(salary) > 8000 * ERROR at line 3: ORA-00934: group function is not allowed here A csoportok korlátozására a WHERE feltétel nem használható!

Csoportok korlátozása EMPLOYEES A legmagasabb fizetés osztályonként, ha az nagyobb mint $10,000

Csoportok korlátozása a HAVING rész segítségével A HAVING rész használata esetén az Oracle szerver az alábbiak szerint korlátozza a csoportokat: 1. Csoportosítja a sorokat. 2. Alkalmazza a sorhalmaz függvényeket a csoportokra. 3. A HAVING résznek megfelelő csoportokat megjeleníti. SELECT column, group_function FROM table [WHERE condition] [GROUP BY group_by_expression] [HAVING group_condition] [ORDER BY column];

A HAVING rész használata SELECT department_id, MAX(salary) FROM employees GROUP BY department_id HAVING MAX(salary)>10000 ;

A HAVING rész használata (folyt.) SELECT job_id, SUM(salary) PAYROLL FROM employees WHERE job_id NOT LIKE '%REP%' GROUP BY job_id HAVING SUM(salary) > 13000 ORDER BY SUM(salary);

Sorhalmaz függvények egymásba ágyazása Az osztályonkénti legmagasabb átlagfizetés megjelenítése: SELECT MAX(AVG(salary)) FROM employees GROUP BY department_id; A sorhalmaz függvények csak kétszeres mélységig ágyazhatóak egymásba!

Összefoglalás Ebben a részben megtanultuk: a COUNT, MAX, MIN, és AVG sorhalmaz függvények használatát, hogyan írjunk GROUP BY részt tartalmazó lekérdezéseket, hogyan írjunk HAVING részt tartalmazó lekérdezéseket. SELECT column, group_function FROM table [WHERE condition] [GROUP BY group_by_expression] [HAVING group_condition] [ORDER BY column];

Feladatok 4.4. Adja meg az EMPLOYEES táblából a legmagasabb, a legalacsonyabb, az összes, és az átlag fizetéseket az összes alkalmazottra vonatkozóan. (Az oszlop-fejléc legyen rendre: Maximum, Minimum, Sum, és Average). Kerekítse az eredményt a legközelebbi egész számra! Helyezze el az SQL utasítást a lab_04_04.sql fájlban.

Feladatok 4.5. Módosítsa a lab_04_04.sql lekérdezést úgy, hogy beosztásonként jelenítse meg az értékeket. Mentse el az eredményt a lab_04_05.sql fájlba és futtassa le script módban (fájlból).

Feladatok 4.10. Adja meg azt a lekérdezést, amely megjeleníti az alkalmazottak teljes létszámát, valamint az 1995, 1996, 1997, és 1998 évben belépett alkalmazottak számát az egyes oszlopokban. Figyeljen a megfelelő oszlop-fejlécekre. Mentse el az eredményt a lab_04_10.sql fájlba és futtassa le script módban (fájlból).

Feladatok 4.11. Adja meg azt a lekérdezést, amely megjeleníti a beosztásokat, külön-külön oszlopban a 20, 50, 80, és 90 osztályszámú osztályokon az adott beosztásúak fizetésének összegét, valamint a fizetések összegét az összes dolgozóra beosztásonként. Figyeljen a megfelelő oszlop-fejlécekre. Mentse el az eredményt a lab_04_11.sql fájlba és futtassa le script módban (fájlból).