3. gyakorlat
Gyakorló gyakorlat!!!!
két új tábla:
CREATE TABLE dolgozo AS SELECT * FROM nikovits.dolgozo;
CREATE TABLE osztaly AS SELECT * FROM nikovits.osztaly;
1. feladat
Azok a dolgozó, akik a 10-es és a 20-as osztályon dolgoznak
2. feladat
Kik azok a dolgozók, akiknek a jutaléka nem nagyobb, mint 600 (krumpli???)
3. feladat
Adjuk meg azoknak a dolgozóknak a nevét és fizetésük kétszeresét, akik a 10-es osztályon dolgoznak
4. feladat
Kik azok, akik legalább két féle gyümölcsöt szeretnek?
SELECT DISTINCT sz1.nev
FROM szeret sz1, szeret sz2
WHERE sz1.nev = sz2.nev AND sz1.gyumolcs <> sz2.gyumolcs;
5. feladat
Kik azok, akik legalább háromféle gyümölcsöt szeretnek
SELECT DISTINCT sz1.nev
FROM szeret sz1, szeret sz2, szeret sz3
WHERE sz1.nev = sz2.nev
AND sz2.nev = sz3.nev
AND sz2.gyumolcs <> sz1.gyumolcs
AND sz3.gyumolcs <> sz1.gyumolcs
AND sz2.gyumolcs <> sz3.gyumolcs;
6. feladat
Kik szeretnek legfejlebb kétféle gyümölcsöt
SELECT DISTINCT nev FROM szeret
MINUS
SELECT DISTINCT sz1.nev
FROM szeret sz1, szeret sz2, szeret sz3
WHERE sz1.nev = sz2.nev
AND sz2.nev = sz3.nev
AND sz2.gyumolcs <> sz1.gyumolcs
AND sz3.gyumolcs <> sz1.gyumolcs
AND sz2.gyumolcs <> sz3.gyumolcs;
7. feladat
Kik azok a dolgozók, akiknek a főnöke KING?
8. feladat
Kik azok a dolgozók, akik többet keresnek a főnöküknél?
9. feladat
Kik azok a dolgozók, akiknek a főnökének a főnöke a "KING"?
SELECT d.dnev
FROM dolgozo d, dolgozo f1, dolgozo f2
WHERE d.fonoke = f1.dkod AND f1.fonoke=f2.dkod
AND f2.dnev = 'KING';
Natural join
SELECT *
FROM dolgozo d, osztaly o
WHERE d.oazon = o.oazon;
-- Ezek megegyeznek
SELECT *
FROM dolgozo NATURAL JOIN osztaly;
10. feladat
Kik azok a dolgozók, akiknek a telephelye Dallas vagy Chicago
SELECT dnev
FROM dolgozo
NATURAL JOIN osztaly
WHERE osztaly.telephely='DALLAS' OR osztaly.telephely='CHICAGO';
11. feladat
Adjuk meg azokat a dolgozókat, akiknek van 2000-nél nagyobb fizetésű beosztottja