06. ADATBÁZISOK (LEV.INFOTANÁR)
- Az alábbi órai
feladatokhoz a táblák: createDolgozo.txt
(volt korábban)
Osztaly (oazon, onev,
telephely)
Dolgozo (dkod,
dnev, foglalkozas,
fonoke, belepes, fizetes, jutalek, oazon)
Fiz_Kategoria (kategoria,
also, felso)
1.rész: Sorfüggvények: Az
SQL SELECT
utasítás
SELECT és WHERE 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
(A demo
lekérdezésekhez volt: createHRsyn.txt elég a
szinonimákat
használni)
- Oracle
beépített
adattípusok: Oracle_tipusok.txt (lásd
Oracle
Data Types.html)
- A fontosabb
sorfüggvények: Oracle_fv.pdf
(SQL Lang.Ref.: Oracle
Functions.html)
- Az alábbi órai
feladatokhoz a táblák, mint eddig createDolgozo.txt (volt)
Osztaly (oazon, onev,
telephely)
Dolgozo (dkod,
dnev, foglalkozas,
fonoke, belepes, fizetes, jutalek, oazon)
Fiz_Kategoria (kategoria,
also, felso)
--- Numerikus függvények
1. Adjuk meg
dolgozók nevét és az
éves fizetését, akik a 10-es
osztályon
dolgoznak.
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,
szövegkeresés, szöveg "grafikus"
megjelenítése
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ű.
(Többféle
megoldást is keressünk
a lekérdezésre, LIKE, INSTR
függvény)
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'.
--- 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?
(Aktuális
dátumformátumot lásd -> SYSDATE
fv.)
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 hány nap volt KING és JONES
belépési dátuma
között?
(Tegyük fel, hogy pontosan
egy KING és pontosan egy JONES nevű dolgozó
van)
[* Itt
kipróbálhatjuk, hogy
skalár helyett
skalárérétékű (SFW)
lekérdezés is lehet!]
12. Adjuk meg, hogy milyen napra esett KING
belépési dátuma
hónapjának utolsó napja.
13. Adjuk meg, hogy milyen napra esett KING
belépési dátuma
hónapjának első napja.
14. 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
15. 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).
2.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.
>> SQL06_csoportok.pdf
(teljes select utasítás)
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!
9. Adjuk meg osztályonként 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.
10. Adjuk meg a legmagasabb
osztályonkénti
átlagfizetést!