1. feladat Feladat szövege: Hozz létre egy táblát hobbi néven, aminek egy tanuló azonosító és egy hobbi leírás oszlopa van, tetszőleges oszlopneveket adjál meg, ezután vigyél be két tetszőleges sort. SQL megoldás: CREATE TABLE hobbi ( tanulo_id INTEGER, hobbi_leiras TEXT ); INSERT INTO hobbi VALUES (1, 'foci'); INSERT INTO hobbi VALUES (2, 'sakk'); SELECT * FROM hobbi; Eredmény: tanulo_id hobbi_leiras 1 foci 2 sakk ============================================================ 2. feladat Feladat szövege: A budapesti tanulók közül kiknek több vagy egyenlő az ösztöndíja 30000-nél? Nevet és ösztöndíjat listázzál majd ki. SQL megoldás: SELECT nev, osztondij FROM tanulo WHERE varos = 'Budapest' AND osztondij >= 30000; Eredmény: nev osztondij Kovács Levente 31000 Nemes Gábor 32000 ============================================================ 3. feladat Feladat szövege: Listázd ki azoknak a tanulóknak a nevét, akik Matematikát vagy Angol nyelvet tanulnak. SQL megoldás: SELECT tanulo.nev FROM tanulo, tanul, tantargy WHERE tanulo.id = tanul.tanulo_id AND tanul.tantargyazonosito = tantargy.tantargyazonosito AND tantargy.nev = 'Matematika' UNION SELECT tanulo.nev FROM tanulo, tanul, tantargy WHERE tanulo.id = tanul.tanulo_id AND tanul.tantargyazonosito = tantargy.tantargyazonosito AND tantargy.nev = 'Angol nyelv'; Eredmény: nev Farkas Nóra Kiss Gergő Lukács Ádám Molnár Dóra Sándor Emese Varga Lilla ============================================================ 4. feladat Feladat szövege: Listázd ki azoknak a tanulóknak a nevét, akik Matematikát és Angol nyelvet is tanulnak. SQL megoldás: SELECT tanulo.nev FROM tanulo, tanul, tantargy WHERE tanulo.id = tanul.tanulo_id AND tantargy.tantargyazonosito = tanul.tantargyazonosito AND tantargy.nev = 'Matematika' INTERSECT SELECT tanulo.nev FROM tanulo, tanul, tantargy WHERE tanulo.id = tanul.tanulo_id AND tantargy.tantargyazonosito = tanul.tantargyazonosito AND tantargy.nev = 'Angol nyelv'; Eredmény: nev Lukács Ádám ============================================================ 5. feladat Feladat szövege: Add meg a hallgatók ösztöndíjainak összegét városonként csoportosítva. A várost és az összegzett ösztöndíjat kell kilistázni. SQL megoldás: SELECT varos, SUM(osztondij) AS osszeg FROM tanulo GROUP BY varos; Eredmény: varos osszeg Budapest 133000 Debrecen 151000 Szeged 155000 ============================================================ 6. feladat Feladat szövege: Add meg, hogy mennyi a debreceniek átlagos Matematika vizsgajegye és a szegediek átlagos Matematika vizsgajegye. A bukást, azaz 1-est nem számítjuk bele, mert utána mindenki javított. SQL megoldás: SELECT varos, AVG(jegy) AS atlag FROM tanulo, vizsga, tantargy WHERE tanulo.id = vizsga.tanulo_id AND vizsga.tantargyazonosito = tantargy.tantargyazonosito AND tantargy.nev = 'Matematika' AND jegy > 1 AND varos IN ('Debrecen', 'Szeged') GROUP BY varos; Eredmény: varos atlag Debrecen 3.666667 Szeged 4.000000 ============================================================ 7. feladat Feladat szövege: A kötelező tárgyak esetén tárgynevenként adjuk meg, hány hallgató tanulja a tárgyat. Tárgynevet és darabszámot kell kilistázni. SQL megoldás: SELECT tantargy.nev, COUNT(tanul.tanulo_id) AS darab FROM tantargy, tanul WHERE tantargy.kotelezo = 1 AND tantargy.tantargyazonosito = tanul.tantargyazonosito GROUP BY tantargy.nev; Eredmény: nev darab Angol nyelv 3 Biológia 5 Fizika 5 Kémia 4 Matematika 4 Testnevelés 5 ============================================================ 8. feladat Feladat szövege: Add meg, hogy a budapesti tanulók közül ki nem tanul Matematikát. Neveket kell kilistázni. SQL megoldás: SELECT nev FROM tanulo WHERE varos = 'Budapest' EXCEPT SELECT tanulo.nev FROM tanulo, tanul, tantargy WHERE tanulo.id = tanul.tanulo_id AND tantargy.tantargyazonosito = tanul.tantargyazonosito AND tantargy.nev = 'Matematika' AND tanulo.varos = 'Budapest'; Eredmény: nev Kovács Levente Nagy Bence Nemes Gábor Papp Zsófia ============================================================ 9. feladat Feladat szövege: Emeljük meg az összes olyan hallgató ösztöndíját, akik Matematikából 3-ast vagy jobbat (4 vagy 5) jegyet kaptak. Az emelés után az ösztöndíjuk az eredeti ösztöndíjuk háromszorosa legyen. A neveket és a már megemelt ösztöndíjat kell kilistázni. SQL megoldás: SELECT nev, osztondij FROM tanulo WHERE id IN ( SELECT tanulo_id FROM vizsga WHERE tantargyazonosito IN ( SELECT tantargyazonosito FROM tantargy WHERE nev = 'Matematika' ) AND jegy >= 3 ); Eredmény: nev osztondij Kiss Gergő 90000 Szabó Eszter 75000 Nagy Bence 60000 Varga Lilla 105000 Farkas Nóra 87000 Horváth Petra 78000 Papp Zsófia 84000 Sándor Emese 111000 ============================================================ 10. feladat Feladat szövege: Kik azok a tanulók és tanárok, akik tanítanak legalább egy olyan tárgyat, amit a tanuló tanul és egy városban lakik a tanár és a tanuló. A tanár és a tanuló nevét, valamint ezt a tárgyat, és a tanuló és a tanár közös városát kell kilistázni. SQL megoldás: SELECT tanulo.nev AS tanulo_nev, tanar.nev AS tanar_nev, tantargy.nev AS targy, tanulo.varos FROM tanulo, tanar, tanul, tanit, tantargy WHERE tanulo.varos = tanar.varos AND tanulo.id = tanul.tanulo_id AND tanar.id = tanit.tanar_id AND tanul.tantargyazonosito = tanit.tantargyazonosito AND tantargy.tantargyazonosito = tanul.tantargyazonosito; Eredmény: tanulo_nev tanar_nev targy varos Kiss Gergő Kovács Péter Matematika Szeged Szabó Eszter Horváth Zoltán Magyar nyelv és irodalom Debrecen Szabó Eszter Horváth Zoltán Történelem Debrecen Nagy Bence Szabó László Kémia Budapest Nagy Bence Varga Katalin Informatika Budapest Varga Lilla Tóth Mária Angol nyelv Szeged Varga Lilla Kiss Tamás Testnevelés Szeged Tóth Márk Horváth Zoltán Történelem Debrecen Tóth Márk Horváth Zoltán Magyar nyelv és irodalom Debrecen Molnár Dóra Varga Katalin Testnevelés Budapest Farkas Nóra Horváth Zoltán Magyar nyelv és irodalom Debrecen Kovács Levente Varga Katalin Német nyelv Budapest Kovács Levente Varga Katalin Informatika Budapest Horváth Petra Kiss Tamás Testnevelés Szeged Lukács Ádám Horváth Zoltán Magyar nyelv és irodalom Debrecen Papp Zsófia Balogh Ferenc Történelem Budapest Papp Zsófia Varga Katalin Német nyelv Budapest Kerekes Máté Kiss Tamás Testnevelés Szeged Sándor Emese Horváth Zoltán Magyar nyelv és irodalom Debrecen Sándor Emese Nagy Anna Fizika Debrecen Nemes Gábor Varga Katalin Német nyelv Budapest Nemes Gábor Balogh Ferenc Történelem Budapest ============================================================