2007. február 25. TARTALOM

Hasonló dokumentumok
Adatbázis használat I. 2. gyakorlat

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.

Adatbázis használat I. 2. gyakorlat

ADATBÁZIS HASZNÁLAT I. 4. gyakorlat

Adatok szűrése, rendezése

KENDE MÁRIA NAGY ISTVÁN: Oracle Példatár(SQL-PL/SQL) Házi feladatok a 3.gyakorlathoz: 1. fejezet: Egyszerű lekérdezések

2012. április 13. TARTALOM

Adatbázis használat I. 5. gyakorlat

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

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

Oracle Példatár (SQL-PL/SQL)

Tranzakciókezelés PL/SQL-ben

Csomag. Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll. specifikáció törzs (opcionális)

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

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

Adattípusok. Max. 2GByte

2006. május 1. TARTALOM

Adattípusok. Max. 2GByte

A trigger egy aktualizálási művelet esetén végrehajtandó programrészletet definiál. Alakja:

2012. április 27. TARTALOM

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

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

INDEXSTRUKTÚRÁK III.

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

Együttes hozzárendelés

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

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ÁZIS-KEZELÉS FÉLÉVES FELADAT

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

Adatbázis rendszerek SQL nyomkövetés

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

Adatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

Indexek és SQL hangolás

Az SQL*Plus használata

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

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

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

BEVEZETÉS Az objektum fogalma

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

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

Adatbázis használat I. 1. gyakorlat

Adatbázisok* tulajdonságai

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

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

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

SQL/PSM kurzorok rész

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

Elemi alkalmazások fejlesztése IV.

Személyes adatváltoztatási formanyomtatvány- Magyarország / Personal Data Change Form - Hungary

Proxer 7 Manager szoftver felhasználói leírás

EN United in diversity EN A8-0206/419. Amendment

On The Number Of Slim Semimodular Lattices

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos

Széchenyi István Egyetem

Személyes adatváltoztatási formanyomtatvány - Magyarország / Personal Data Change Form - Hungary

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

Adatbázis Rendszerek II. 2. Gyakorló környezet

PL/SQL (folytatás) Kurzorok, függvények, eljárások

Angol Középfokú Nyelvvizsgázók Bibliája: Nyelvtani összefoglalás, 30 kidolgozott szóbeli tétel, esszé és minta levelek + rendhagyó igék jelentéssel

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

Mapping Sequencing Reads to a Reference Genome

Adatbázis Rendszerek II. 2. Ea: Gyakorló környezet

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Dependency preservation

Az Open Data jogi háttere. Dr. Telek Eszter

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

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

SQL parancsok feldolgozása

USER MANUAL Guest user

TABLE ACCESS FULL HASH CLUSTER BY INDEX ROWID BY USER ROWID BY GLOBAL INDEX ROWID BY LOCAL INDEX ROWID

Adatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet

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

Adatbázisok II. Jánosi-Rancz Katalin Tünde 327A 1-1

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

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

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

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

Adatbázisok I A relációs algebra

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

Adatbázis Rendszerek I. 9. SQL alapok (DDL esettanulmány)

Miskolci Egyetem Gazdaságtudományi Kar Üzleti Információgazdálkodási és Módszertani Intézet Nonparametric Tests

Contact us Toll free (800) fax (800)

Adatbázis-kezelés ODBC driverrel

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

Adatbázisok I. Az SQL nyelv

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

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai

Statisztikai szoftverek Molnár Gábor József

Adatbázisban tárolt kollekciók

SQL DDL-2 (aktív elemek) triggerek

ORACLE. SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

A könyv tartalomjegyzéke

A PL/SQL motor. A PL/SQL nyelvű egységek fordítását és futtatását végző rendszer. az adatbázis-kezelőben fejlesztőeszközben (pl.

Statistical Dependence

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

Adatbázisok II. Jánosi-Rancz Katalin Tünde 327A


Betekintés az SQL hangolásba Oracle környezetben

PL/SQL feladatok 8. gyakorlat

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

Átírás:

KENDE MÁRIA - NAGY ISTVÁN ANALITIKUS SQL FELADATGYŰJTEMÉNY TARTALOM 9. Foglalkozás Részletező csoportosítások... 2 10. Foglalkozás Analitikus függvények... 5 Melléklet A ROW_NUMBER szintaktikája... 10 Irodalom... 12 2007. február 25. #12_Analitikus SQL Feladatgyűjtemény (07) - 1 -

9. Foglalkozás Részletező csoportosítások Részletesebben lásd [2]: 13. fejezet FELADATGYŰJTEMÉNY 9.1. Feladat Részletező csoportosítással listázza részlegenként az összfizetést és a létszámot. Az összesítő sorban a részleg oszlopába a Teljes összeg szöveget írja. 9.2. Feladat Részletező csoportosítással listázza főnökönként az összfizetést és a létszámot. Ahol nincs főnök, oda a Nincs főnök, az összesítő sor főnök oszlopába pedig a Mindösszesen szöveget írja. TOVÁBBI FELADATOK T9.3. Feladat Készítse el a fenti feladatokat a GROUPING SETS operator segítségével is. T9.4. Feladat Részletező csoportosítással listázza részlegenként, azon belül munkakörönként az átlagos, az összes, és a legnagyobb fizetéseket, valamint a létszámot. A részletező sorokba írja be a megfelelő értelmező szövegeket. #12_Analitikus SQL Feladatgyűjtemény (07) - 2 -

MEGOLDÁSGYŰJTEMÉNY 9.1. Feladat Részletező csoportosítással listázza részlegenként az összfizetést és a létszámot. Az összesítő sorban a részleg oszlopába a Teljes összeg szöveget írja. Megoldás 1. lépés A részletező csoportosítás legegyszerűbb használata SELECT deptno, SUM(sal), COUNT(*) FROM emp GROUP BY ROLLUP(deptno); DEPTNO SUM(SAL) COUNT(*) ---------- ---------- ---------- 10 8750 3 20 10875 5 30 9400 6 29025 14 2. lépés A Teljes összeg szöveg beírása COLUMN "Részleg" FORMAT A15 SELECT NVL(TO_CHAR(deptno),'Teljes összeg') AS "Részleg", SUM(sal) AS "ÖsszFiz", COUNT(*) AS "Létszám" FROM emp GROUP BY ROLLUP(deptno); CLEAR COLUMN Részleg ÖsszFiz Létszám --------------- ---------- ---------- 10 8750 3 20 10875 5 30 9400 6 Teljes összeg 29025 14 9.2. Feladat Részletező csoportosítással listázza főnökönként az összfizetést és a létszámot. Ahol nincs főnök, oda a Nincs főnök, az összesítő sor főnök oszlopába pedig a Mindösszesen szöveget írja. 1. Megoldás (A ROLLUP operátor segítségével) COLUMN "Főnök" FORMAT A20 SELECT CASE WHEN GROUPING(mgr) = 0 AND mgr IS NOT NULL THEN TO_CHAR(mgr) WHEN GROUPING(mgr) = 0 AND mgr IS NULL THEN 'Nincs főnök' ELSE 'Mindösszesen' END AS "Főnök", #12_Analitikus SQL Feladatgyűjtemény (07) - 3 -

SUM(sal) COUNT(*) FROM emp GROUP BY ROLLUP(mgr); CLEAR COLUMNS AS "ÖsszFiz", AS "Létszám" 2. Megoldás (A GROUPING SETS operátor segítségével) COLUMN "Főnök" FORMAT A20 SELECT CASE WHEN GROUPING(mgr) = 0 AND mgr IS NOT NULL THEN TO_CHAR(mgr) WHEN GROUPING(mgr) = 0 AND mgr IS NULL THEN 'Nincs főnök' ELSE 'Mindösszesen' END AS "Főnök", SUM(sal) AS "ÖsszFiz", COUNT(*) AS "Létszám" FROM emp GROUP BY GROUPING SETS((mgr),()); CLEAR COLUMNS (Mindkét esetben) Főnök ÖsszFiz Létszám -------------------- ---------- ---------- 7566 6000 2 7698 6550 5 7782 1300 1 7788 1100 1 7839 8275 3 7902 800 1 Nincs főnök 5000 1 Mindösszesen 29025 14 8 sor kijelölve. #12_Analitikus SQL Feladatgyűjtemény (07) - 4 -

10. Foglalkozás Analitikus függvények Részletesebben lásd [2]: 13. fejezet FELADATGYŰJTEMÉNY 10.1. Feladat Lássuk el sorszámmal a dolgozókat, ha elsődlegesen a részleg szerint, másodlagosan a nevük szerint rendezzük. 10.2. Feladat Lássuk el minden részlegben sorszámmal a névsor szerint rendezett dolgozókat. 10.3. Feladat Lássuk el kétféle sorszámmal a dolgozókat. Az első végigsorszámozza őket, ha elsődlegesen a részleg szerint, másodlagosan a nevük szerint rendezzük, a második minden részlegben a nevük szerint rendezetten sorszámozza őket. 10.4. Feladat Lássuk el olyan összetett azonosítóval a dolgozókat, melyben az első rész a részlegazonosító, a második pedig a név szerinti rendezés alapján a részlegbeli sorszám. 10.5. Feladat Lássuk el sorszámokkal a dolgozókat a következőképpen: legyen olyan sorszám, mely elsődlegesen a részlegazonosító, másodlagosan a dolgozók neve szerinti sorrendet tükrözi (sorszám1), legyen olyan sorszám, mely részlegenként a dolgozók fizetése szerinti sorrendet tükrözi (sorszám2), legyen olyan sorszám, mely megadja, hogy egy dolgozó a fizetése szerint hányadik a részlegében (NormálRangsor), legyen olyan sorszám, mely megadja, hogy egy dolgozó fizetése hányadik a részlegében előforduló fizetések között (SűrítettRangsor) 10.6. Feladat Listázzuk minden részlegben a második legkisebb fizetésű dolgozókat. TOVÁBBI FELADATOK T10.7. Feladat Listázzuk minden részlegben a legnagyobb fizetésű dolgozókat. T10.8. Feladat Határozza meg, hogy egy, a felhasználó által megadott fizetés hányadik lenne a fizetések munkakörönkénti rangsorában? (DENSE_RANK... WITHIN GROUP...) T10.9. Feladat Határozza meg, hogy egy, a felhasználó által megadott fizetésű új dolgozó melyik részlegben okozza a legkisebb bérfeszültséget. (A feladat megoldásához írásban értelmezze a bérfeszültség fogalmát!) #12_Analitikus SQL Feladatgyűjtemény (07) - 5 -

MEGOLDÁSGYŰJTEMÉNY 10.1. Feladat Lássuk el sorszámmal a dolgozókat, ha elsődlegesen a részleg szerint, másodlagosan a nevük szerint rendezzük. 1. Megoldás SET numwidth 5 SELECT deptno AS részleg, ename AS név, empno AS azonosító, ROWNUM AS sorszám FROM (SELECT * FROM emp ORDER BY deptno, ename) ORDER BY sorszám; 2. Megoldás SELECT deptno AS részleg, ename AS név, empno AS azonosító, ROW_NUMBER() OVER (ORDER BY deptno, ename) AS sorszám FROM emp; (Mindkét esetben) RÉSZLEG NÉV AZONOSÍTÓ SORSZÁM ------- ---------- --------- ------- 10 CLARK 7782 1 10 KING 7839 2 10 MILLER 7934 3 20 ADAMS 7876 4 20 FORD 7902 5 20 JONES 7566 6 20 SCOTT 7788 7 20 SMITH 7369 8 30 ALLEN 7499 9 30 BLAKE 7698 10 30 JAMES 7900 11 30 MARTIN 7654 12 30 TURNER 7844 13 30 WARD 7521 14 14 sor kijelölve. 10.2. Feladat Lássuk el minden részlegben sorszámmal a névsor szerint rendezett dolgozókat. Megoldás SELECT deptno AS részleg, ename AS név, empno AS azonosító, ROW_NUMBER() ORDER BY ename) AS sorszám FROM emp; #12_Analitikus SQL Feladatgyűjtemény (07) - 6 -

RÉSZLEG NÉV AZONOSÍTÓ SORSZÁM ------- ---------- --------- ------- 10 CLARK 7782 1 10 KING 7839 2 10 MILLER 7934 3 20 ADAMS 7876 1 20 FORD 7902 2 20 JONES 7566 3 20 SCOTT 7788 4 20 SMITH 7369 5 30 ALLEN 7499 1 30 BLAKE 7698 2 30 JAMES 7900 3 30 MARTIN 7654 4 30 TURNER 7844 5 30 WARD 7521 6 14 sor kijelölve. 10.3. Feladat Lássuk el kétféle sorszámmal a dolgozókat. Az első végigsorszámozza őket, ha elsődlegesen a részleg szerint, másodlagosan a nevük szerint rendezzük, a második minden részlegben a nevük szerint rendezetten sorszámozza őket. Megoldás SET numwidth 5 SELECT deptno AS részleg, ename AS név, empno AS azonosító, ROW_NUMBER() OVER (ORDER BY deptno) AS sorszám1, ROW_NUMBER() ORDER BY ename) AS sorszám2 FROM emp; RÉSZLEG NÉV AZONOSÍTÓ SORSZÁM1 SORSZÁM2 ------- ---------- --------- -------- -------- 10 CLARK 7782 1 1 10 KING 7839 2 2 10 MILLER 7934 3 3 20 ADAMS 7876 4 1 20 FORD 7902 5 2 20 JONES 7566 6 3 20 SCOTT 7788 7 4 20 SMITH 7369 8 5 30 ALLEN 7499 9 1 30 BLAKE 7698 10 2 30 JAMES 7900 11 3 30 MARTIN 7654 12 4 30 TURNER 7844 13 5 30 WARD 7521 14 6 14 sor kijelölve. 10.4. Feladat Lássuk el olyan összetett azonosítóval a dolgozókat, melyben az első rész a részlegazonosító, a második pedig a név szerinti rendezés alapján a részlegbeli sorszám. Megoldás SET numwidth 5 SELECT empno AS "RégiAzonosító", ename AS "Név", #12_Analitikus SQL Feladatgyűjtemény (07) - 7 -

TO_CHAR(deptno) '.' TO_CHAR(ROW_NUMBER() ORDER BY ename)) AS "ÚjAzonosító" FROM emp; RégiAzonosító Név ÚjAzonosító ------------- ---------- ------------ 7782 CLARK 10.1 7839 KING 10.2 7934 MILLER 10.3 7876 ADAMS 20.1 7902 FORD 20.2 7566 JONES 20.3 7788 SCOTT 20.4 7369 SMITH 20.5 7499 ALLEN 30.1 7698 BLAKE 30.2 7900 JAMES 30.3 7654 MARTIN 30.4 7844 TURNER 30.5 7521 WARD 30.6 14 sor kijelölve. 10.5. Feladat Lássuk el sorszámokkal a dolgozókat a következőképpen: legyen olyan sorszám, mely elsődlegesen a részlegazonosító, másodlagosan a dolgozók neve szerinti sorrendet tükrözi (sorszám1), legyen olyan sorszám, mely részlegenként a dolgozók fizetése szerinti sorrendet tükrözi (sorszám2), legyen olyan sorszám, mely megadja, hogy egy dolgozó a fizetése szerint hányadik a részlegében (NormálRangsor), legyen olyan sorszám, mely megadja, hogy egy dolgozó fizetése hányadik a részlegében előforduló fizetések között (SűrítettRangsor) Megoldás SET numwidth 5 SELECT deptno AS "Részleg", ename AS "Név", sal AS "Fizetés", ROW_NUMBER() OVER (ORDER BY deptno) AS "Sorszám1", ROW_NUMBER() ORDER BY sal) AS "Sorszám2", ROWNUM, RANK() ORDER BY sal) AS "NormálRangsor", DENSE_RANK() ORDER BY sal) AS "SűrítettRangsor" FROM emp; Részleg Név Fizetés Sorszám1 Sorszám2 ROWNUM NormálRangsor SűrítettRangsor ------- ---------- ------- -------- -------- ------ ------------- --------------- 10 MILLER 1300 1 1 14 1 1 10 CLARK 2450 2 2 7 2 2 10 KING 5000 3 3 9 3 3 20 SMITH 800 4 1 1 1 1 20 ADAMS 1100 5 2 11 2 2 #12_Analitikus SQL Feladatgyűjtemény (07) - 8 -

20 JONES 2975 6 3 4 3 3 20 SCOTT 3000 7 4 8 4 4 20 FORD 3000 8 5 13 4 4 30 JAMES 950 9 1 12 1 1 30 WARD 1250 10 2 3 2 2 30 MARTIN 1250 11 3 5 2 2 30 TURNER 1500 12 4 10 4 3 30 ALLEN 1600 13 5 2 5 4 30 BLAKE 2850 14 6 6 6 5 14 sor kijelölve. 10.6. Feladat Listázzuk minden részlegben a második legkisebb fizetésű dolgozókat. Megoldás SET numwidth 5 1. lépés Készítsünk nézetet, mely részlegenként megadja a fizetések sorrendjét: CREATE OR REPLACE VIEW FizSorrend(Részleg, Fizetés, SűrítettRangsor) AS SELECT DISTINCT deptno, sal, DENSE_RANK() ORDER BY sal) FROM emp; SELECT * FROM FizSorrend; RÉSZLEG FIZETÉS SŰRÍTETTRANGSOR ------- ------- --------------- 10 1300 1 10 2450 2 10 5000 3 20 800 1 20 1100 2 20 2975 3 20 3000 4 30 950 1 30 1250 2 30 1500 3 30 1600 4 30 2850 5 12 sor kijelölve. 2. lépés Listázzuk a második legkisebb jövedelműeket: SELECT emp.* FROM emp, FizSorrend WHERE emp.deptno = FizSorrend.Részleg AND emp.sal = FizSorrend.Fizetés AND SűrítettRangsor = 2; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- ---------- --------- ----- ---------- ----- ----- ------ 7782 CLARK MANAGER 7839 1981-06-09 2450 10 7876 ADAMS CLERK 7788 1987-05-23 1100 20 7654 MARTIN SALESMAN 7698 1981-09-28 1250 1400 30 7521 WARD SALESMAN 7698 1981-02-22 1250 500 30 #12_Analitikus SQL Feladatgyűjtemény (07) - 9 -

Melléklet A ROW_NUMBER szintaktikája Oracle Database SQL Reference 10g Release 1 (10.1) Part Number B10759-01 Home Book List Contents Index Master Index Feedback ROW_NUMBER Syntax row_number::= Description of the illustration row_number.gif See Also: "Analytic Functions " for information on syntax, semantics, and restrictions Purpose ROW_NUMBER is an analytic function. It assigns a unique number to each row to which it is applied (either each row in the partition or each row returned by the query), in the ordered sequence of rows specified in the order_by_clause, beginning with 1. By nesting a subquery using ROW_NUMBER inside a query that retrieves the ROW_NUMBER values for a specified range, you can find a precise subset of rows from the results of the inner query. This use of the function lets you implement top-n, bottom-n, and inner-n reporting. For consistent results, the query must ensure a deterministic sort order. You cannot use ROW_NUMBER or any other analytic function for expr. That is, you cannot nest analytic functions, but you can use other built-in function expressions for expr. Please refer to "About SQL Expressions " for information on valid forms of expr. Examples For each department in the sample table oe.employees, the following example assigns numbers to each row in order of employee's hire date: SELECT department_id, last_name, employee_id, ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY employee_id) AS emp_id FROM employees; #12_Analitikus SQL Feladatgyűjtemény (07) - 10 -

DEPARTMENT_ID LAST_NAME EMPLOYEE_ID EMP_ID ------------- ------------------------- ----------- ---------- 10 Whalen 200 1 20 Hartstein 201 1 20 Fay 202 2 30 Raphaely 114 1 30 Khoo 115 2 30 Baida 116 3 30 Tobias 117 4 30 Himuro 118 5 30 Colmenares 119 6 40 Mavris 203 1... 100 Popp 113 6 110 Higgins 205 1 110 Gietz 206 2 ROW_NUMBER is a nondeterministic function. However, employee_id is a unique key, so the results of this application of the function are deterministic. See Also: FIRST_VALUE and LAST_VALUE for examples of nondeterministic behavior The following inner-n query selects all rows from the employees table but returns only the fiftyfirst through one-hundredth row: SELECT last_name FROM (SELECT last_name, ROW_NUMBER() over (order by last_name) R FROM employees) WHERE R BETWEEN 51 and 100; Previous Next Copyright 1996, 2003 Oracle Corporation All Rights Reserved. Home Book List Contents Index Master Index Feedback #12_Analitikus SQL Feladatgyűjtemény (07) - 11 -

IRODALOM [1] Kende M. Kotsis D. Nagy I.: Adatbázis-kezelés az Oracle-rendszerben, Panem, 2002. [2] Kende M. Nagy I.: Oracle Példatár (SQL, PL/SQL), Panem, 2005. #12_Analitikus SQL Feladatgyűjtemény (07) - 12 -