3.GYAKORLAT (ADATBÁZISOK)
Folyt. 2.rész: SQL feladatsor a 2. és 3.gyakorlatokra
Sorfüggvények használata
2.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álata:
I. Az Oracle által ismert adattípusok, lásd OracleTipusok.html
II. Beépített függvények
használata, a legfontosabb Oracle függvények:
EA-kieg: lecke03/fuggvenyek.pdf -
sorfüggvények használata
FELADATSOR-2:
dolgozo, osztaly
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.
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'.
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?
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)
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).
>> Segédlet:
Examples/Példák: SQL
Language Reference >> 5
Functions:
Sorfüggvények: pl.
Karakteres függvények: SUBSTR, RPAD,
..., INSTR,
...
pl. Dátum
függvények: MONTHS_BETWEEN,
..., pl. Konverziós: TO_DATE,
...
pl. Null
érték kezelése,
helyettesítő érték
megadása: NVL,
COALESCE,
...
Figyelem!
COALESCE
példában: FROM product_information
mivel ez a tábla nem az HR,
hanem OE sémában szerepel, ezért
itt ki kell írni a
táblatulajdonost: FROM OE.product_information
(ugyanis csak a HR owner
tábláihoz hoztuk létre a
szinonimákat).
3.rész: SQL feladatsor a 3.gyakorlatokra
Összesítések és csoportosítás
3.Témakör: Oracle
gépes gyakorlat, SQL SELECT
utasítás GROUP BY, HAVING
és ORDER BY
záradékai,
csoportosítás és
összesítő
függvények használata
EA-kieg: lecke04/csoportok.pdf -
sorfüggvények használata
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!
A következő gyakorlatra az I.ZH-ra önálló gyakorlásra
>> Oracle
Példatár Feladatok.pdf
1-2.fejezet feladatai