04. ADATBÁZISOK (LEV.INFOTANÁR)
SQL
egytáblás lekérdezések,
vetítés és
kiválasztás műveletei
- Oracle
segédanyagok:
SQL02_select_lista.pdf; SQL03_where_feltetel.pdf
Az Oracle demo
lekérdezésekhez elég
szinonimát használni: createHRsyn.txt
A
lekérdezésekhez a
példa-táblák előkészítése
az SQL-ben
- Bev.sql.ea.pdf (11.o.tól) Bevezetés az SQL-be, táblák létrehozása
Példa-táblák
létrehozására a szkriptek
-->>
adatbazis_scriptek.html
- Az alábbi órai
feladatokhoz a táblák -->> createDolgozo.txt
Osztaly (oazon, onev,
telephely)
Dolgozo (dkod,
dnev, foglalkozas,
fonoke, belepes, fizetes, jutalek, oazon)
Fiz_Kategoria (kategoria,
also, felso)
FELADATOK: Egy
tábla
lekérdezése (oszlopok
vetítése és sorok
kiválasztása)
--- Rel.algebra vetítés művelete (SQL-ben
multihalmaz -> rel.alg.-ban halmaz!)
1. Adjuk meg a dolgozók
között
előforduló foglalkozások neveit!
(select lista)
2. Adjuk meg a dolgozók
között
előforduló foglalkozások neveit
(DISTINCT is),
az eredmény halmaz legyen,
vagyis minden foglalkozást csak egyszer írjuk ki!
3. Adjuk meg a dolgozók
kódját, nevét
és az éves fizetését,
amikor kifejezést
használunk az oszlopnevek
helyén, ott
adjunk új oszlopnevet ("éves fizetés")
--- Rel.algebra kiválasztás művelete
és azh SQL SELECT utasítás WHERE
feltétele
--- NULL hiányzó érték,
lásd SQL Lang.Ref. Nulls, 3
értékű logika, lásd igazságtábla
4. Kik azok a dolgozók, akiknek a
fizetése
> 2800? (kiválasztás, elemi
feltétel)
5. Írjuk ki a 'KING' nevű dolgozó(k)
adatait! (kar.tip.konstans megadása 'KING')
6. Kik azok a dolgozók, akiknek a
fizetése 2000 és 4500 között
van? (dkod, dnev)
(1.mo:
kiválasztás, összetett
feltétel; 2.mo: where-ben: intervallum)
7. Kik azok a dolgozók, akik a
10-es vagy a 20-as osztályon dolgoznak?
(1.mo:
kiválasztás, összetett
feltétel; 2.mo: where-ben: in értékek)
8. Adjuk meg azon dolgozókat, akik
nevének második betűje 'A' (where: like)
9. Kik azok a dolgozók, akiknek a
jutaléka nagyobb, mint 600?
10. Kik azok a dolgozók, akiknek a
jutaléka kisebb-vagy-egyenlő, mint 600?
11. Kik azok a dolgozók, akiknek a
jutaléka ismeretlen (hiányzó adat,
nincs kitöltve)
12. Kik azok a dolgozók, akiknek a
jutaléka ismert (vagyis nem NULL)
--- Az eredménytábla sorainak
rendezése (SELECT utasítás ORDER BY
záradéka)
(Ez itt nem alap
relációs
algebrai művelet, de az SQL lekérdezésekben
hasznos)
13. Listázzuk ki a dolgozókat
foglalkozásonként, azon belül
nevenként rendezve.
14. Listázzuk ki a dolgozókat
fizetés szerint csökkenőleg rendezve.
15. Rendezés segítségével
az első N sor elérése Oracle 12.2
adatbázisban,
lásd
Row Limiting Examples.html (forrás: Oracle
Database SQL Lang. Ref. html)