DOLGOZO tábla DKOD DNEV FOGLALKOZAS FONOKE BELEPES FIZETES JUTALEK OAZON ------------------------------------------------------------------- 7369 SMITH CLERK 7902 1980.12.17 800 20 7499 ALLEN SALESMAN 7698 1981.02.20 1600 300 30 7521 WARD SALESMAN 7698 1981.02.22 1250 500 30 7566 JONES MANAGER 7839 1981.04.02 2975 20 7654 MARTIN SALESMAN 7698 1981.09.28 1250 1400 30 7698 BLAKE MANAGER 7839 1981.05.01 2850 30 7782 CLARK MANAGER 7839 1981.06.09 2450 10 7788 SCOTT ANALYST 7566 1982.12.09 3000 20 7839 KING PRESIDENT 1981.11.17 5000 10 7844 TURNER SALESMAN 7698 1981.09.08 1500 0 30 7876 ADAMS CLERK 7788 1983.01.12 1100 20 7900 JAMES CLERK 7698 1981.12.03 950 30 7902 FORD ANALYST 7566 1981.12.03 3000 20 7934 MILLER CLERK 7782 1982.01.23 1300 10 OSZTALY tábla OAZON ONEV TELEPHELY -------------------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON Feladatok a 3.gyakorlatra: - Adjuk meg a dolgozók között előforduló foglalkozások neveit. - Kik azok a dolgozók, akiknek a fizetése > 2800? - Kik azok a dolgozók, akik a 10-es vagy a 20-as osztályon dolgoznak? - Kik azok a dolgozók, akik 1982.01.01 után léptek be a céghez? - Kik azok a dolgozók, akiknek a jutaléka ismert? (vagyis nem NULL) Feladatok a 4.gyakorlatra: - Kik azok a dolgozók, akiknek a főnöke KING? (CROSS JOIN) - Kik azok a dolgozók, akik osztályának telephelye BOSTON vagy CHICAGO? (NATURAL JOIN) - Kik azok a dolgozók, akik osztályának telephelye nem BOSTON vagy CHICAGO? (MINUS) - Adjuk meg azoknak a nevét, akiknek a fizetése > 2000 vagy a 30-as osztályon dolgoznak (UNION) - Melyik osztálynak nincs dolgozója? (OUTER JOIN) Feladatok az 5.gyakorlatra: - Adjuk meg azon dolgozókat, akik nevének második betűje 'A'. - Adjuk meg azon dolgozókat, akik nevében van legalább két 'L' betű. (INSTR) - Adjuk meg a dolgozók fizetéseinek négyzetgyökét és 3-mal vett maradékát. - Adjuk meg, hogy hány napja dolgozik a cégnél ADAMS és milyen hónapban lépett be. - Mekkora a minimális/maximális fizetés a dolgozók között? - Kinek a legkisebb/legnagyobb a fizetése? - Mennyi a dolgozók összfizetése? - Mennyi a 20-as osztályon az átlagfizetés? - Adjuk meg, hogy hány különbözo foglalkozás fordul elo a dolgozók között. - Adjuk meg osztályonként az átlagfizetést (OAZON, ATL_FIZ). - Adjuk meg osztályonként a telephelyet és az átlagfizetést (OAZON, TELEPHELY, ATL_FIZ). - Adjuk meg, hogy az egyes osztályokon hány ember dolgozik (azt is, ahol 0=senki). (OAZON, DB) - Adjuk meg azokra az osztályokra az átlagfizetést, ahol ez nagyobb mint 2000. Feladatok a 6.gyakorlatra - Kik azok a dolgozók, akiknek a fizetése nagyobb, mint 'ALLEN' fizetése? - Kik azok a dolgozók, és milyen munkakörben dolgoznak, akiknek a legkisebb a fizetésük? (ugyanez a kérdés a legnagyobb fizetésre is). - Osztályonként írjuk ki a minimális fizetést, de csak azokat az osztályokét, ahol a minimális fizetés nagyobb, mint a 30-as osztályon dolgozók minimális fizetése. - Kik azok a dolgozók, akiknek a fizetése kisebb, mint valamelyik hivatalnok ('CLERK') fizetése. (ugyanez a kérdés, csak most minden hivatalnok fizetésénél kisebb) - Kik azok a dolgozók, akiknek ugyanaz a főnökük és ugyanazon az osztályon dolgoznak, mint 'MARTIN'? - Melyek azok az osztályok, ahol nem dolgozik senki (most korrelált NOT EXISTS-el) - Listázzuk ki az dolgozo tábla alapján a főnökökhöz tartozó beosztottak nevét és osztályukat. a.) A dolgozo tábla önamagára való hivatkozásával (többtáblás lekérdezés sorváltozókkal). b.) A CONNECT BY utasításrész használatával, a hierarchikus szerkezetet 'KING'-től felülről lefelé bejárva. c.) Alulról felfelé járjuk be a hierarchikus szerkezet egy ágát 'SMITH'-től kezdve.