1. feladat Feladat szövege: Hozz létre egy táblát sport néven, aminek egy tanuló azonosító és egy sport 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 sport ( tanulo_id INTEGER, sport_leiras TEXT ); INSERT INTO sport VALUES (1, 'futás'); INSERT INTO sport VALUES (2, 'kosárlabda'); SELECT * FROM sport; Eredmény: tanulo_id sport_leiras 1 futás 2 kosárlabda ============================================================ 2. feladat Feladat szövege: A budapesti tanulók közül kiknek kisebb 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 Nagy Bence 20000 Molnár Dóra 22000 Papp Zsófia 28000 ============================================================ 3. feladat Feladat szövege: Listázd ki azoknak a tanulóknak a nevét, akik Matematikát vagy Informatikát 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 = 'Informatika'; Eredmény: nev Balogh Zoltán Kerekes Máté Kiss Gergő Kovács Levente Lukács Ádám Molnár Dóra Nagy Bence Sándor Emese ============================================================ 4. feladat Feladat szövege: Listázd ki azoknak a tanulóknak a nevét, akik Matematikát és Informatikát 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 = 'Informatika'; Eredmény: nev Kiss Gergő ============================================================ 5. feladat Feladat szövege: Add meg a hallgatók ösztöndíjainak átlagát városonként csoportosítva. A várost és az átlagos ösztöndíjat kell kilistázni. SQL megoldás: SELECT varos, AVG(osztondij) AS atlag FROM tanulo GROUP BY varos; Eredmény: varos atlag Budapest 26600.0 Debrecen 30200.0 Szeged 31000.0 ============================================================ 6. feladat Feladat szövege: Add meg, hogy mennyi a debreceniek átlagos Történelem vizsgajegye és a szegediek átlagos Történelem 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 tantargy.tantargyazonosito = vizsga.tantargyazonosito AND tantargy.nev = 'Történelem' AND jegy > 1 AND varos IN ('Debrecen', 'Szeged') GROUP BY varos; Eredmény: varos atlag Debrecen 2.0 Szeged 4.0 ============================================================ 7. feladat Feladat szövege: A nem 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 = 0 AND tantargy.tantargyazonosito = tanul.tantargyazonosito GROUP BY tantargy.nev; Eredmény: nev darab Biológia 5 Informatika 5 Matematika 4 Testnevelés 5 ============================================================ 8. feladat Feladat szövege: Add meg, hogy a szegedi tanulók közül ki nem tanul Matematikát. Neveket kell kilistázni. SQL megoldás: SELECT nev FROM tanulo WHERE varos = 'Szeged' 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 = 'Szeged'; Eredmény: nev Balogh Zoltán Horváth Petra Kerekes Máté Varga Lilla ============================================================ 9. feladat Feladat szövege: Emeljük meg az összes olyan hallgató ösztöndíját, akik Fiziká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: UPDATE tanulo SET osztondij = osztondij * 3 WHERE id IN ( SELECT tanulo_id FROM vizsga WHERE tantargyazonosito IN ( SELECT tantargyazonosito FROM tantargy WHERE nev = 'Fizika' ) AND jegy >= 3 ); SELECT nev, osztondij FROM tanulo WHERE id IN ( SELECT tanulo_id FROM vizsga WHERE tantargyazonosito IN ( SELECT tantargyazonosito FROM tantargy WHERE nev = 'Fizika' ) AND jegy >= 3 ); Eredmény: nev osztondij Varga Lilla 105000 Horváth Petra 78000 Papp Zsófia 84000 Sándor Emese 111000 ============================================================ 10. feladat Feladat szövege: Kik azok a tanulók és a legalább 20 vagy több éves tapasztalattal rendelkező 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 AND tanar.tapasztalat >= 20; Eredmény: tanulo_nev tanar_nev targy varos Szabó Eszter Horváth Zoltán Magyar nyelv és irodalom Debrecen Szabó Eszter Horváth Zoltán Történelem Debrecen 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 Farkas Nóra Horváth Zoltán Magyar nyelv és irodalom Debrecen 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 Kerekes Máté Kiss Tamás Testnevelés Szeged Sándor Emese Horváth Zoltán Magyar nyelv és irodalom Debrecen Nemes Gábor Balogh Ferenc Történelem Budapest ============================================================