Kihagyás

Kis HF 02 – Adatbázis lekérdezések (SQL)

Felkészülés és előkészületek

Nézd át a kapcsolódó labor és előadások anyagát.

Szoftverkörnyezet:

  • Adatbázis szervernek MySQL-t használunk, mely része az XAMPP programcsomagnak.
  • Az adatbázis kliensoldali kezeléséhez a MySQL Workbench-et használjuk.

A megírandó lekérdezések a kapcsolódó laboron létrehozott könyvtár adatbázist használják. Kövesd a labor útmutatóját (1. feladat) és hozd létre az adatbázist, mielőtt belekezdenél a lekérdezések megírásába!

Mindig új branchen dolgozz!

A laborokon, házi feladatokon, és a ZH-n mindig új branch-en (pl. "megoldas") dolgozz! Ez azért van így, mert a végén a munka végén a pull request létrehozásakor a kiinduló állapothoz (master branch) képest az új branch változtatásai fognak látszani. Vagyis így fogja látni a laborvezetőd, hogy min dolgoztál, mely fájlokban mi változott, és így fogja tudni értékelni is a munkádat. Ha nem így csinálod, az formai hibának számít, a ZH-n például ezért pontlevonás jár.

1. SQL lekérdezések (könnyű)

Készítd el az alábbi lekérdezéseket! Mindegyik feladathoz egy darab lekérdezést kell írni.

  1. Listázd ki a könytárban elérhető összes könyvet!
  2. Listázd ki azon tagok összes adatát, akik irányítószáma kisebb mint 2000!
  3. Listázd ki azon könyvek címét és megjelenési dátumát, amelyek 1999 előtt jelentek meg, ár szerinti csökkenő sorrendben!
  4. Listázd ki azon könyvek összes adatát, amelyeknek van leírása (vagyis nem üres)!

Beadandó (1 pont)

A lekérdezéseket írd bele a kiinduló repository gyökerében található query-1.sql fájlba, majd kommitolj.

2. SQL lekérdezések (közepes)

Készítd el az alábbi lekérdezéseket! Mindegyik feladathoz egy darab lekérdezést kell írni.

  1. Listázd ki minden könyv címét és szerzőik teljes nevét (vezetéknév és keresztnév egyben), akkor is, ha nincs az adott könyvhöz szerző megadva!
  2. Listázd ki minden tag nevét és a kölcsönzéseik számát, akkor is, ha még nem kölcsönöztek semmit!
  3. Listázd ki azon tagok minden adatát (de mindenkiét csak egyszer), akik legalább egy könyvet visszahoztak a határidő után!
  4. Listázd ki azon tagok teljes nevét, akiknél jelenleg van könyv, és ezeknek a könyveknek az átlagos ára nagyobb, mint 10 000 Ft. Add meg a kölcsönzött könyvek számát is!

Beadandó (1 pont)

A lekérdezéseket írd bele a kiinduló repository gyökerében található query-2.sql fájlba, majd kommitolj.

3. SQL lekérdezések (nehéz)

Készítd el az alábbi lekérdezéseket! Mindegyik feladathoz egy darab lekérdezést kell írni.

  1. Listázd ki azon könyvek címét, amelyeket legalább két különböző tag kölcsönzött ki!
  2. Listázd ki azon könyvek címét és árát, amelyek ára nagyobb, mint a magyar nyelvű könyvek átlagára!
  3. Listázd ki a legutóbb kikölcsönzött könyv címét és a kölcsönzés dátumát!
  4. Listázd ki azon tagok teljes nevét és a náluk lévő könyvek számát, akiknek a tagságija még érvényes, de van legalább egy könyv náluk, amely szerzői között magyar nemzetiségű is szerepel!

Tipp a 4. lekérdezéshez

Az aggregáló függvények paraméterében kifejezés is lehet, például a COUNT(tag.nev = 'Kiss Anna') megszámolja a 'Kiss Anna' előfordulásait a tag tábla név oszlopában.

Beadandó (1 pont)

A lekérdezéseket írd bele a kiinduló repository gyökerében található query-3.sql fájlba, majd kommitolj.

Beadás

Töltsd ki a kiinduló repositoryban található neptun.txt fájlt a Neptun kódoddal! Ezután a tanultaknak megfelelően készíts egy pull requestet és rendeld hozzá a laborvezetődet, mint reviewer!

Pull request elfogadása

Fontos, hogy semmiképpen ne kattints a "Merge pull request" gombra a GitHub felületén! Ez a laborvezetőd dolga, az értékelés után a változtatások bekerülnek majd a master branchre. Ha mergeled a módosításokat a laborvezetőd értékelése előtt, nem fogja látni, hogy mi változott, tehát a pull request értelmét veszti!


2025-10-13 Szerzők