2.GYAKORLAT (ADATBÁZISOK)
SQL
feladatsor Sorfüggvények
használata
Témakör:
Az
SQL SELECT
utasítás
SELECT és WHERE záradékaiban szereplő
attribútumok különböző
típusaira kifejezések és a
sorfüggvények
használhatók.
I. Oracle beépített
adattípusok: OracleTipusok.html (forrás: Oracle Data Types)
II. Oracle beépített
függvények: SQL03_fuggvenyek.pdf
(lásd Oracle Functions)
--- 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'.
+1.6.példa (Kende-Nagy) Listázza ki a
dolgozók nevét és fizetését egy
oszlopban,
legyen a két oszlop között az
elvásztójel a kettőspont, és a
fizetésük szerint
csökkenően írjuk ki, valamint
jelenítsük meg
a fizetést grafikusan úgy,
hogy
a fizetést 1000 Ft-ra kerekítve, minden 1000
Ft-ot egy '#' jel jelöl.
(például 5000 -> #####, 800 -> #) (LPAD és RPAD függvények)
--- 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).
+1.2.példa (Kende-Nagy) 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".
(DECODE függvénnyel és CASE kifejezéssel is)
+1.8.példa (Kende-Nagy) Listázzuk ki azoknak a
dolgozóknak a
nevét, fizetését,
jutalékát,
és a jutalék/fizetés
arányát két tizedesjegy pontosságig, akiknek
a foglalkozása
eladó
(SALESMAN) vagy hivatalnok (CLERK), fizetés szerint
csökkenően rendezve.
>>
Önálló
gyakorlás: Oracle
Példatár Feladatok.pdf
1.fejezet 1.1.-1.18. feladatok
[Megj.: 1.14.feladatban
foglalkozás szerint rendezve, és nem-"csoportosítva",
ugyanis a csoportosítást -
összesítések és group by később lesz,
itt: order by]