4.FELADATSOR
(INFORMÁCIÓS RENDSZEREK)
I.rész: Sorfüggvények
(folytatás) az előző gyak.
egytáblás lekérdezések
folyt.
Emlékeztető: SQL SELECT
utasítás
SELECT lista és WHERE feltétel
záradékaiban
az
attribútumok különböző
típusaira kifejezések és a
sorfüggvények
használhatók.
- Oracle segédanyag: SQL05_fuggvenyek.pdf
példák beépített
sorfüggvényekre
Az Oracle demo
lekérdezésekhez elég
szinonimát használni: createHRsyn.txt
- Oracle
Példatár 1.fejezet Egyszerű
lekérdezések Sorfüggvények
19.o-44.o.pdf
- A fontosabb
sorfüggvények: Oracle_fv.pdf
(összefoglaló), részletesen
példákkal:
SQL Lang.Ref. -> 7 Functions
-> Single-Row Functions -> Oracle
Functions.html
- Az alábbi órai
feladatokhoz a táblák, mint eddig createDolgozo.txt (már
megvan)
Osztaly (oazon, onev,
telephely)
Dolgozo (dkod,
dnev, foglalkozas,
fonoke, belepes, fizetes, jutalek, oazon)
Fiz_Kategoria (kategoria,
also, felso)
--- múlt heti feladatsor folytatása, numerikus
és
karakterkezelő fv-ről van-e kérdés?
--- Numerikus függvények
(ismétlés)
1. Adjuk meg
dolgozók nevét és az
éves fizetését százasokra
kerekítve, akik
a 10-es
osztályon
dolgoznak. (SQL Lang.Ref. -> ROUND itt szereplő
példák)
2. Adjuk meg azon dolgozókat, akik
fizetése osztható 15-tel.
3. Adjuk meg a dolgozók fizetéseinek
négyzetgyökét két tizedesre,
és ennek
egészrészét.
--- Karakterkezelő függvények
(ismétlés)
(Megj.: 4.f. és 5.f.
volt 2.gyak. where feltételben: LIKE feltétel, de itt
most
többféle
megoldást is keressünk
sorfüggvényekkel -> SUBSTR, INSTR, stb)
4. Adjuk meg azon dolgozókat, akik
nevének második betűje 'A'
5. Adjuk meg azon dolgozókat, akik
nevében van legalább két 'L' betű.
6. Adjuk meg a dolgozók nevének
utolsó három betűjét.
7. Adjuk meg azon dolgozókat, akik
nevének utolsó előtti betűje 'T'.
--- innen a mai új tananyag
--- Konverziós függvények és
dátumkezelő függvények
8. Kik azok a dolgozók, akik '1982.01.01.'
után léptek be? (TO_DATE-re
példák)
9. Adjuk meg, hogy hány hete dolgozik a
cégnél ADAMS és milyen
hónapban
és milyen nap
(hétfő, kedd, stb. magyar/angol) lépett be
(dátum formátumok)
10. Adjuk meg azokat a dolgozókat, akik keddi napon
léptek be.
(Vigyázzunk a visszaadott
értékkel!)
11. Adjuk meg, hogy milyen napra esett KING
belépési dátuma
hónapjának utolsó napja.
12. Adjuk meg, hogy milyen napra esett KING
belépési dátuma
hónapjának első napja.
13. Számoljuk ki, egészekre
kerekítve, hogy a mai nap
hány naposak vagyunk,
azt is, hogy hány
hetesek,
továbbá hány hónaposak
vagyunk (DUAL tábla)
--- Nullértéket kezelő
függvények és speciális
függvények
SQL Lang.Ref. -> 7 Functions
-> Single-Row Functions -> NULL-Related Functions
-> NVL, NVL2,
COALESCE
+Lásd még SQL Lang.Ref. -> 5. Expressions
-> CASE kif.
14. Adjuk meg a dolgozók éves
jövedelmét, ahol a havi jövedelem a
fizetés
és jutalék
összege, ahol nincs jutalék megadva,ott a 0
helyettesítő
értékkel
számoljunk (NVL függvény
alkalmazása).
15. (Kende-Nagy Példatár
1.2.példa) Adjuk meg a
dolgozók
nevét, foglalkozását
és
jutalékát oly módon, hogy akinek
nincs
jutaléke, annál azt írja ki, hogy
'Nem
jár
jutalék'. (NVL, DECODE
függvénnyel és CASE
kifejezéssel is).
II.rész:
Összesítések
és csoportosítás: Az SQL
SELECT
utasítás többi
záradéka,
GROUP BY, HAVING
és ORDER BY
záradékai,
csoportosítás, összesítő
függvények.
- Adatbázisok-1 előadások
tananyaga +Ullman-Widom Tankönyv 6.4. fejezet
- Oracle segédanyag: SQL06_csoportok.pdf --
group by és having
záradékok
- Oracle
Példatár 2.fejezet
Egytáblás csoportosítás Csoportképzés
49.o-52.o.pdf
FELADATSOR-3: dolgozo (egy
táblára teljes select
utasítás)
1. Mennyi a legnagyobb fizetés
a
dolgozók között? (max) és a
legkisebb? (min)
2. Mennyi a dolgozók
összfizetése? (sum)
3. Adjuk meg, hogy hány
különböző foglalkozás fordul elo
a dolgozók között! (count)
4. Mennyi a 20-as osztályon az
átlagfizetés? (avg)
5. Adjuk meg osztályonként az
átlagfizetést!
(csoportosítása: group by)
6. Adjuk meg azokra az
osztályokra az
átlagfizetést, ahol ez nagyobb mint 2000.
7. Melyek azok az osztályok, ahol
legalább hárman dolgoznak és mennyi az
itt
dolgozók
átlagfizetése?
8. Adjuk meg osztályonként az
ott dolgozó hivatalnokok (FOGLALKOZAS='CLERK')
átlagfizetését, de csak
azokon az osztályokon, ahol legalább
két hivatalnok dolgozik!
H.F.: Gyakorló feladatok: Oracle
Példatár Feladatok.pdf
1.fej. és 2.fej. feladatai
[Megj.:
1.14.feladatban
foglalkozás szerint rendezve, és
nem-"csoportosítva",
és a Példatár emp és dept
táblái helyett az órai dolgozo és osztaly
táblákra]
Köv.gyak.: I.ZH (6 feladat/60 perc)
egytáblás lekérdezések
(dolgozó táblára)