5.GYAKORLAT (ADATBÁZISOK)
Halmazműveletek: szeret tábla
>> createSzeret (név, gyümölcs)
-- -- -- Feladatok táblák lekérdezére, halmazműveletekre
1. Kik szeretik az almát?
2. Kik nem szeretik az almát? (de valami
mást igen)
3. Kik szeretik vagy az almát vagy a
körtét?
4. Kik szeretik az almát is és a
körtét is?
5. Kik azok, akik szeretik az almát, de nem
szeretik a körtét?
6. Kik szeretik vagy az almát vagy a
körtét, de csak az egyiket?
-- -- -- Feladatok táblák direkt szorzatára
7. Kik szeretnek legalább
kétféle gyümölcsöt?
8. Kik szeretnek legalább
háromféle
gyümölcsöt?
9. Kik szeretnek legfeljebb kétféle
gyümölcsöt?
10. Kik szeretnek pontosan kétféle
gyümölcsöt?
-- -- --
Többtáblás lekérdezések, direkt szorzat, összekapcsolások
>> Dolgozo, Osztaly, Fiz_Kategoria
táblák: createDolg
Dolgozo (dkod, dnev, foglalkozas,
fonoke, belepes, fizetes, jutalek, oazon)
Osztaly (oazon, onev, telephely)
Fiz_Kategoria (kategoria, also, felso)
Összefoglaló:
-- Direkt szorzat: SELECT * FROM dolgozo,osztaly;
-- Joinok:
SELECT * FROM dolgozo NATURAL JOIN osztaly;
SELECT * FROM dolgozo JOIN osztaly ON dolgozo.oazon=osztaly.oazon;
-- Külső joinok:
SELECT * FROM dolgozo LEFT JOIN osztaly ON dolgozo.oazon=osztaly.oazon;
SELECT * FROM dolgozo RIGHT JOIN osztaly ON dolgozo.oazon=osztaly.oazon;
SELECT * FROM dolgozo FULL JOIN osztaly ON dolgozo.oazon=osztaly.oazon;
-- Theta-join:
SELECT * FROM dolgozo JOIN fiz_kategoria ON dolgozo.fizetes BETWEEN
fiz_kategoria.also and fiz_kategoria.felso;
Feladatok:
1. Kik azok a dolgozók, akiknek nincs
főnöke?
2. Kik azok a dolgozók, akiknek a főnöke KING?
3. Adjuk meg azoknak a főnököknek a nevét, akiknek a foglalkozása nem 'MANAGER'.
4. Adjuk meg azokat a dolgozókat, akik többet keresnek a főnöküknél.
5. Kik azok a dolgozók, akik főnökének a főnöke KING?
6. Kik azok a dolgozók, akik osztályának telephelye DALLAS vagy CHICAGO?
7. Kik azok a dolgozók, akik osztályának telephelye nem DALLAS és nem CHICAGO?
8. Adjuk meg azoknak a nevét, akiknek a
fizetése > 2000 vagy a CHICAGO-i osztályon dolgoznak.
9. Melyik osztálynak nincs dolgozója?
10. Adjuk meg azokat a dolgozókat, akiknek van 2000-nél nagyobb fizetésű beosztottja.
11. Adjuk meg azokat a dolgozókat, akiknek nincs 2000-nél nagyobb fizetésű beosztottja.
12. Adjuk meg azokat a telephelyeket, ahol van elemző (ANALYST) foglalkozású dolgozó.
13. Adjuk meg azokat a telephelyeket, ahol nincs elemző (ANALYST) foglalkozású dolgozó.
14. Adjuk meg azoknak a dolgozóknak a nevét, akiknek a legnagyobb a fizetésük.
15. Adjuk meg azon osztályok nevét
és
telephelyét, amelyeknek van 1-es
fizetési
kategóriájú
dolgozója.
16. Adjuk meg azon osztályok nevét
és
telephelyét, amelyeknek nincs 1-es
fizetési
kategóriájú dolgozója.
További gyakorlásra feladatok az 5-6.gyakorlatra
>> Oracle
Példatár Feladatok.pdf 3.fejezet feladatai