2018/12/08 12:18 1/8 Adatbázis-kezelés Feladatok és megoldások < Adatbázis-kezelés Adatbázis-kezelés Feladatok és megoldások Egytáblás lekérdezések Feladat 001 Adatok Adott a következő személy tábla: az nev telepules cim belepes 1 Nagy József Szolnok Nyár u. 3. 2010.03.17 2 Pár Elek Debrecen Tél u. 3 2005.01.01 3 Tér Ferenc Szolnok Kossuth u. 5. 2000.02.01 4 Dolog Károly Szeged Almás tér 2. 2007.05.01 5 Tronf Mihály Debrecen Lát u. 45. 2005.02.01 6 Ab Béla Szolnok Bach u. 91. 2000.07.01 Feladatok Jelenítse meg azokat a dolgozókat, amelyek Szolnokon laknak WHERE telepules="szolnok"; Számolja meg összesen hány személy van az Személy táblában SELECT COUNT(az) AS Összesen ; Számolja meg hány szolnoki van SELECT COUNT(az) SzitWiki - http://szit.hu/
Last update: oktatas:adatbázis-kezelés:feladatok_és_megoldások http://szit.hu/doku.php?id=oktatas:adatb%c3%a1zis-kezel%c3%a9s:feladatok_%c3%a9s_megold%c3%a1sok 2017/10/02 20:22 WHERE telepules="szolnok"; Számolja meg Pár Elek hány napja van a cégnél. SELECT now() - belepes AS "Napok száma" WHERE nev="pár Elek"; Jelenítse meg azoknak a nevét, akik februárban léptek be WHERE MONTH(belepes)=2; Jelenítse meg milyen települések vannak. Egy település csak egyszer szerepeljen. SELECT telepules GROUP BY telepules; Jelenítse meg azok nevét, akik 2003 előtt léptek be. WHERE belepes<#1/1/2003#; Jelenítse meg azokat a Szegedi és Szolnoki dolgozók közül azokat, akik 2005 után jöttek a céghez., telepules, belepes WHERE (telepules = "Szeged" OR telepules = "Szolnok") AND belepes > #31/1/2005#; http://szit.hu/ Printed on 2018/12/08 12:18
2018/12/08 12:18 3/8 Adatbázis-kezelés Feladatok és megoldások A megoldás MS Access 2007-es szintaktika Feladat 002 Adott a következő pácienseket tartalmazó Személy nevű tábla: id nev telepules szuletes ar tuszuras 1 Nagy Emese Szolnok 1978.05.11 6500 igen 2 Kis Géza Nyíregyháza 1982.07.01 10000 nem A táblázatban tároljuk a páciens azonosítóját (id), a nevét (név, a települést ahol lakik (telepules), az árat amit legutóbb fizetett (ar), és lehet-e tűszúrással kezelni (tuszuras) Készítse el a következő lekérdezéseket: Jelenítse meg az összes mezőt, az összes rekorddal: SELECT * ; Jelenítse meg csak a nevek és a település mezőket:, telepules ; Jelenítse meg csak a települes és az ár mezőket mezőket: SELECT telepules, ar ; Szolnokiak nevei: WHERE telepules="szolnok"; Jelenítse meg azok neveit és települését, akik többet fizetnek mint 10000:, telepules WHERE ar>10000; Jelenítse meg ki hány éves?, YEAR(now()) - YEAR(szuletes) ; Mai dátum: SELECT now(); SzitWiki - http://szit.hu/
Last update: oktatas:adatbázis-kezelés:feladatok_és_megoldások http://szit.hu/doku.php?id=oktatas:adatb%c3%a1zis-kezel%c3%a9s:feladatok_%c3%a9s_megold%c3%a1sok 2017/10/02 20:22 Mai dátum év része SELECT YEAR(now()); Mai dátum hónap része: SELECT MONTH(now()); A mai dátum nap része: SELECT DAY(now()); Jelenítése meg mindenki nevét és életkorát:, YEAR(now()) - YEAR(szuletes) ; Számolja meg hány páciens van: SELECT COUNT(az) ; Számolja meg hány páciens van Szolnokról: SELECT COUNT(az) WHERE telepules="szolnok"; Hány embert lehet tűszúrással gyógyítani? SELECT COUNT(az) WHERE tuszuras=true; Mennyi volt a bevétel a páciensektől eddig összesen? SELECT SUM(ar) ; Mennyi volt a bevétel a páciensektől eddig összesen? A fejléc Összbevétel legyen! SELECT SUM(ar) AS Összbevétel ; Mennyi az átlagbevétel Budapestről? SELECT avg(ar) http://szit.hu/ Printed on 2018/12/08 12:18
2018/12/08 12:18 5/8 Adatbázis-kezelés Feladatok és megoldások WHERE telepules="budapest"; Mennyi az átlagbevétel Budapestről? A fejléc Budapesti átlagbevétel legyen! SELECT avg(ar) AS "Budapesti átlagbevétel" WHERE telepules="budapest"; Jelenítse meg azok neveit akik Szolnokról valók és tűszúrással gyógyíthatók! WHERE telepules="szolnok" AND tuszuras=true; Jelenítse meg milyen településekről vannak páciensek. Egy név csak egyszer szerepeljen. SELECT telepules GROUP BY telepules; Csoportosítjuk település szerint az eredményt. Jelenítse meg a 1970 előtt születettek neveit és településüket., telepules FROM személy WHERE személy.szuletes<#1/1/1970#; Feladat 003 No. Név Település Cím Születes Belépés Fizetés Diploma 1 Nagy József Szolnok Tél u. 23. 1975-08-25 2004-03-01 570000 1 2 Pék Réka Miskolc Árny u. 29. 1977-02-03 2006-04-01 389000 1 3 Kis Mária Debrecen Vértes u. 20. 1981-04-01 2005-03-27 680000 1 4 Érdek Júlia Szeged Bíró u. 25. 1982-03-08 2008-09-01 190000 0 5 Boros Evelin Szolnok Barát u. 78. 1988-02-22 2001-01-01 850000 0 6 Lórem Kinga Szeged Pilisi út 17. 1973-08-02 2000-01-01 878000 1 7 Fix Béla Szolnok Burkus u. 80. 1991-11-05 2008-01-01 351000 1 Írassa ki a legkésőbb belépett, szolnoki dolgozó nevét. WHERE belepes = ( SELECT MAX(belepes) WHERE telepules="szolnok") SzitWiki - http://szit.hu/
Last update: oktatas:adatbázis-kezelés:feladatok_és_megoldások http://szit.hu/doku.php?id=oktatas:adatb%c3%a1zis-kezel%c3%a9s:feladatok_%c3%a9s_megold%c3%a1sok 2017/10/02 20:22 Feladat 004 Adott a következő dolgozók nevű tábla. Dolgozók Az Név Anyja neve Település Lakcím Születés Belépés Fizetés Jutalom 1 Nagy József Marsh Eszer Szolnok Tél u. 23. 1975-08-25 2004-03-01 570000 5000 2 Pék Réka Sargéj Tímea Miskolc Árny u. 29. 1977-02-03 2006-04-01 389000 10000 3 Kis Mária Immell Márta Debrecen Vértes u. 20. 1981-04-01 2005-03-27 680000 5000 4 Érdek Júlia Haller Fruzsina Szeged Bíró u. 25. 1982-03-08 2008-09-01 190000 15000 5 Boros Evelin Csömöri Nikolett Szolnok Barát u. 78. 1988-02-22 2001-01-01 850000 5000 6 Lórem Kinga Gory Nikolett Szeged Pilisi út 17. 1973-08-02 2000-01-01 878000 15000 7 Fix Béla Pritchard Lili Szolnok Burkus u. 80. 1991-11-05 2008-01-01 351000 5000 Kérdezzük le a települések neveit: SELECT Település GROUP BY Település vagy SELECT DISTINCT Település Számoljuk meg hány település van. SELECT COUNT(*) AS "Települések száma" FROM (SELECT DISTINCT Település ) AS alap vagy: SELECT COUNT(*) AS "Települések száma" FROM (SELECT Település GROUP BY Település) AS alap Hány éves az első dolgozó? SELECT YEAR(now()) - YEAR(születés) WHERE Az = 1 http://szit.hu/ Printed on 2018/12/08 12:18
2018/12/08 12:18 7/8 Adatbázis-kezelés Feladatok és megoldások Hány éves a legfiatalabb dolgozó? SELECT YEAR(now()) - YEAR(MAX(születés)) Feladat 005 Adott a következő dolgozók nevű tábla. Szemelyek az nev telepules lakcim szuletes belepes fizetes jutalom Válaszoljon az alábbi kérdésekre. 1.) Mennyi jutalmat kapnak az adonyi és keceli dolgozók? Összesen. SELECT SUM(jutalom) WHERE telepules="adony" OR telepules="kecel" 2.) Mennyi jutalmat és fizetést kapnak battonyai, mátészalkai és csorvási dolgozok, összesen? A jutalom és fizetés is legyen összesítve, egyetlen lekérdezésben. SELECT SUM(fizetes+jutalom) WHERE telepules="battonya" OR telepules="mátészalka" OR telepules="csorvás" 3.) Mennyi jutalmat és fizetést kapnak nagyatádi, nyírábrányi és kenderesi dolgozok, településenként összesen? SELECT telepules, SUM(jutalom+fizetes) AS "Összes LÓVÉ" WHERE telepules="nagyatád" OR telepules="nyírábrány" OR telepuels="kenderes" GROUP BY telepules 4.) Mi az életkorok átlaga az összes dolgozóknak? Évre? SELECT now() SELECT YEAR(now()) SELECT YEAR(szuletes) SzitWiki - http://szit.hu/
Last update: oktatas:adatbázis-kezelés:feladatok_és_megoldások http://szit.hu/doku.php?id=oktatas:adatb%c3%a1zis-kezel%c3%a9s:feladatok_%c3%a9s_megold%c3%a1sok 2017/10/02 20:22 SELECT YEAR(now())-YEAR(szuletes) SELECT avg(year(now())-year(szuletes)) AS "Születések átlag" 5.) Írass ki azoknak a hatvani dolgozóknak a nevét fizetését és jutalmát, akik idősebbek 60 évnél., fizetes, jutalom WHERE telepules = "Hatvan" AND YEAR(now())-YEAR(szuletes) > 60 Több táblás lekérdezés 101 feladat Jelenítse meg az összes zeneszámot és előadót. SELECT Zeneszám.cim FROM Zeneszám INNER JOIN Előadó ON Zeneszám.eloadoaz=Előadó.az; A művelethez a két táblát össze kell kapcsolni. A FROM Zeneszám INNER JOIN Előadó rész azt mondja, hogy a Zeneszám táblát összekapcsolom az Előadó táblával. Az ON Zeneszám.eloadoaz=Előadó.az; rész azt mondja meg, hogy melyik két mezőt kapcsolom össze a két táblában. A Zeneszám táblában az eloadoaz idegen kulcs. Az Előadó táblában a az az mező elsődleges kulcs. Ezeket kapcsoljuk össze. From: http://szit.hu/ - SzitWiki Permanent link: http://szit.hu/doku.php?id=oktatas:adatb%c3%a1zis-kezel%c3%a9s:feladatok_%c3%a9s_megold%c3%a1sok Last update: 2017/10/02 20:22 http://szit.hu/ Printed on 2018/12/08 12:18