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

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

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

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

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

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

Adatbázis használat I. 2. gyakorlat

Adatok szűrése, rendezése

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 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 gyakorlat: SQL 2. rész SELECT

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

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

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

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

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

Adatbázisok* tulajdonságai

Adattípusok. Max. 2GByte

Adattípusok. Max. 2GByte

Adatbázis használat I. 2. 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

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

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

Az SQL*Plus használata

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

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

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

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

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

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

Adatbázisok I A relációs algebra

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

Adatbázisok I. Az SQL nyelv

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

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

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

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

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

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

(Cikksorozat a portálról. Átszerkesztette és kiegészítette: Szentendrey Péter) TARTALOM

BEVEZETÉS Az objektum fogalma

A könyv tartalomjegyzéke

Elemi alkalmazások fejlesztése IV.

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

Gazdasági folyamatok térbeli elemzése. 5. elıadás

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.

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK

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

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.

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

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

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ázisok elmélete 8. előadás

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

BUJDOSÓ GYÖNGYI. Bevezetés az SQL-be OKTATÁSI SEGÉDANYAG AZ ADATBÁZISKEZELÉS CÍMŰ GYAKORLATHOZ DEBRECENI EGYETEM INFORMATIKAI KAR

Az SQL nyelv. SQL (Structured Query Language = Strukturált Lekérdező Nyelv).

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

Többtáblás lekérdezések megjelenítése

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

Az SQL lekérdeznyelv

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

2007. február 25. TARTALOM

A sorozat. A feladatlapon szereplő kérdések megválaszolásával és feladatok megoldásával maximum 100 pont érhető el.

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

A SELECT működése. Ttanar tábla: Tdiak tábla:

ADATBÁZISKEZELÉS ADATBÁZIS

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

Adatbázisok II. rész

Adatbázis rendszerek SQL nyomkövetés

ADATBÁZIS HASZNÁLAT I. 4. gyakorlat

SQL parancsok feldolgozása

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

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

ADATBÁZISOK I. ELŐADÁS ÉS GYAKORLAT JEGYZET

Adatbázis kezelés Delphiben. SQL lekérdezések

Adatbázis-kezelés - Lekérdezések, jelentések készítése

XML alapú adatbázis-kezelés. (Katona Endre diái alapján)

Analitikus és egyéb hasznos függvények Oracle 11g alatt

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

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

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

Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) );

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

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

Adabáziskezelés gyakorlat SQL

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

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

Az SQL adatbázisnyelv: DML

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

SQL bevezetés. Select-From-Where záradékok Több relációt tartalmazó lekérdezések Alkérdések

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlaton a következőket fogjuk gyakorolni:

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

Keskeny Zoltán 2007/08 SQL. Structured Query Language. (gyakorlat az SQL2 szabvány alapján) Keskeny Zoltán tanév

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

Statisztikai szoftverek Molnár Gábor József

Dolgozó Kód Név Város Beosztás Belépés Fizetés Osztály. Adatbázis-kezelés alapjai SQL 2: DQL. v: B IT MAN 169/1

ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben

B sorozat. A feladatlapon szereplő kérdések megválaszolásával és feladatok megoldásával maximum 100 pont érhető el.

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)

É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

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

Átírás:

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

Célkitőzés A használható összesítı függvények azonosítása Az összesítı 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 4-2 Copyright 2004, Oracle. All rights reserved.

Az összesítı függvények azonosítása az összesítı 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 4-3 Copyright 2004, Oracle. All rights reserved.

Az aggregáló függvények típusai AVG COUNT MAX MIN STDDEV SUM VARIANCE összesítı függvények 4-4 Copyright 2004, Oracle. All rights reserved.

Az aggregáló függvények típusai (folyt.) Függvény AVG([DISTINCT ALL]n) Leírása n átlagértéke (nullértékeket kihagyva) COUNT({* [DISTINCT ALL]expr}) 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) MAX([DISTINCT ALL]expr) Expr legnagyobb értéke (nullértékeket kihagyva) MIN([DISTINCT ALL]expr) Expr legkisebb értéke (nullértékeket kihagyva) STDDEV([DISTINCT ALL]x) n szórása (nullértékeket kihagyva) SUM([DISTINCT ALL]n) VARIANCE([DISTINCT ALL]x) n értékeinek összege (nullértékeket kihagyva) n szórásnégyzete (nullértékeket kihagyva) 4-5 Copyright 2004, Oracle. All rights reserved.

Az aggregáló függvények használata SELECT [column,] oszlop_függvény(column),... FROM table [WHERE condition] [GROUP BY column] [ORDER BY column]; Az oszlopfüggvények 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. 4-6 Copyright 2004, Oracle. All rights reserved.

AVG éssum összesítı 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%'; 4-7 Copyright 2004, Oracle. All rights reserved.

MIN ésmax összesítı 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; 4-8 Copyright 2004, Oracle. All rights reserved.

COUNT összesítı 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; 4-9 Copyright 2004, Oracle. All rights reserved.

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; 4-10 Copyright 2004, Oracle. All rights reserved.

összesítı függvények és a nullértékek Az összesítı 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; 4-11 Copyright 2004, Oracle. All rights reserved.

Adatcsoportok létrehozása EMPLOYEES 4400 9500 3500 6400 10033 Az EMPLOYEES tábla osztályai és azokon az átlagfizetések 4-12 Copyright 2004, Oracle. All rights reserved.

Adatcsoportok létrehozása: a GROUPBY 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. 4-13 Copyright 2004, Oracle. All rights reserved.

A GROUP BY rész használata A SELECT lista minden olyan oszlopnevének, amely nem összesítı függvényekben fordul elı, szerepelnie kell a GROUP BY részben. SELECT department_id, AVG(salary) FROM employees GROUP BY department_id ; 4-14 Copyright 2004, Oracle. All rights reserved.

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 ; összesítı függvény szerepelhet az ORDER BY részben is. 4-15 Copyright 2004, Oracle. All rights reserved.

Csoportosítás több oszlopnév alapján EMPLOYEES Az EMPLOYEES tábla osztályain az egyes beosztások átlagfizetései 4-16 Copyright 2004, Oracle. All rights reserved.

AGROUPBY 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 ; 4-17 Copyright 2004, Oracle. All rights reserved.

összesítı függvényt tartalmazó szabálytalan lekérdezések Bármely oszlopnévnek vagy kifejezésnek a SELECT listában, ha az nem aggregáló 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 4-18 Copyright 2004, Oracle. All rights reserved.

összesítı 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. összesítı 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ó! 4-19 Copyright 2004, Oracle. All rights reserved.

Csoportok korlátozása EMPLOYEES A legmagasabb fizetés osztályonként, ha az nagyobb mint $10,000 4-20 Copyright 2004, Oracle. All rights reserved.

Csoportok korlátozása ahaving 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 Az összesítı 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]; 4-21 Copyright 2004, Oracle. All rights reserved.

A HAVING rész használata SELECT department_id, MAX(salary) FROM employees GROUP BY department_id HAVING MAX(salary)>10000 ; 4-22 Copyright 2004, Oracle. All rights reserved.

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); 4-23 Copyright 2004, Oracle. All rights reserved.

összesítı 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; Az összesítı függvények csak kétszeres mélységig ágyazhatóak egymásba! 4-24 Copyright 2004, Oracle. All rights reserved.

Összefoglalás Ebben a részben megtanultuk: a COUNT, MAX, MIN, és AVG összesítı 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]; 4-25 Copyright 2004, Oracle. All rights reserved.