Készítette: Pető László

Slides:



Advertisements
Hasonló előadás
Adatbázis-kezelés.
Advertisements

10. gyakorlat SQL SELECT.
Tananyag: konzultáció
MICROSOFT OFFICE ACCESS 2003.
Access Adatbáziskezelés
Adatbázisok SQL. TARTALOM Szijártó M.2 Témakörök  Az SQL tulajdonságai  A műveletek fajtái  Objektum-műveletek  Lekérdezések Tulajdonságok és műveletek.
Adatbázis I. Alapfogalmak.
Elmaradás.  0 Számjegy. Ebben a pozícióban egyetlen számjegyet kell megadnia.  9 Számjegy. Ebben a pozícióban egyetlen számjegyet lehet megadni, nem.
Delphi programozás alapjai
ADATBÁZIS KEZELÉS – Adattípusok
5. GYAKORLAT SQL CREATE TABLE, aktualizálás. S QL Structured Query Language A relációs adatbáziskezelés szabványos nyelve Nem algoritmikus, de beépíthető.
– Adattáblák & adatok kezelése – Tarcsi Ádám január Adatbázis gyakorlat.
Táblázat kezelő programok
SQL – DQL (Data Query Language ) adat lekérdezések
Adatbáziskezelés Microsoft Access.
Adatbázis-kezelés.
RIPORT (JELENTÉS) TERVEZÉSE, KÉSZÍTÉSE
16. Tétel. Adatbázis: Olyan adatgyűjtemény, amely egy adott feladathoz kapcsolódó adatokat szervezett módon tárolja, és biztosítja az adatokhoz való hozzáférést,
Adatbázis-kezelés.
az MSAccess programmal
Adatbázis-kezelés ACCESS program:
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
Folytassuk… (2.).
Adatbázis-kezelés
Oktassunk adatbázis-kezelést! Micskei Zoltán Microsoft Referencia Iskola.
Access alapok Táblák, kapcsolatok, űrlapok.
Microsoft Access Táblák.
Microsoft Access Űrlapok tervezése.
MSACCESS Bevezetés. Üzemeltetés Hozzáférés Jogosultságok Karbantartás Mentés Stb. Felhasználói felület Űrlapok Jelentések Menük Stb. Adatnézetek, funkcionalitás.
Microsoft Access Jelentések.
SQL.
Az SQL nyelv alapjai.
Access XP Kifejezés-szerkesztő Összehasonlító operátorok:
Statisztika, kutatásmódszertan I.
Jelentések Tábla vagy lekérdezés nyomtatásban alkalmas megjelenítése.
1 Informatikai Szakképzési Portál Adatbázis kezelés Alapfogalmak.
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
Adatbázis-kezelés SQL-lel
SQL DDL DATA DEFINITION LANGUAGE. Táblák létrehozása CREATE TABLE táblanév ( oszlopnév1 típus(méret) /DEFAULT érték/ /NOT NULL/, oszlopnév2 típus(méret)
Nézzük, mit tudunk…. Mire gondoltam? Megjeleníti az adott adatbázishoz kapcsolódó összes objektumot : adatbázis ablak.
Készítette: Rummel Szabolcs Elérhetőség:
Adatbázis kezelés.
Adatbázis-kezelés Probléma: az excel kezelhetetlen túl sok adat esetén
– SQL 3: SELECT - 1. – Tarcsi Ádám, január 31. Adatbázis gyakorlat.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
Tarcsi Ádám, Adatbázis gyakorlat – Adattáblák – Tarcsi Ádám, január.
Adatbázis alapfogalmak
5. gyakorlat Fleiner Rita.
Webprogramozó tanfolyam
ACCESS Lekérdezések, űrlapok, jelentések
SQL. SQL jellemzői Nem algoritmikus (nem tartalmaz algoritmikus szerkezeteket: ciklus, eljárás, elágazás) Nem rekurzív (önmagát nem hívhatja) Halmazorientált.
Adatbázis-kezelés 3-4. Adatok lekérdezése utasítás általános formája SELECT [ALL/DISTINCT] {*/, …, } FROM [ ], …, [ ] [WHERE GROUP BY, …, HAVING ORDER.
9. osztály Táblák létrehozása. Létrehozás Tervező nézetben  Üres adatbázis létrehozása.  Adatbázis mentése.  Objektumok oszlopban a Táblák sorra kattintunk.
– SELECT - 1. – Tarcsi Ádám január Adatbázis gyakorlat.
 Adatbázis:  Valamilyen szempont szerint rendszerezett adathalmaz.  Adatbázis kezelés:  Adatok tárolása  Műveletek végzése az adatbázison; (Adatok.
ACCESS ALAPOK Alapfogalmak
Az adatbázis az adatok és a köztük lévő összefüggések rendszere, amelyet egymás mellett tárolunk. Nagyon fontos, hogy az adatbázisunk szerkezetét jól megtervezzük,
Számítások az Accessben Számított mező létrehozása Az adatbázisokat érdemes úgy tervezni, hogy ne tároljunk olyan adatokat, amelyek a többiből kiszámíthatók.
Táblák létrehozása és feltöltése adatokkal Rendezés Szűrés.
Összeállította: Juhász Tibor – 2006 – Adatbázis- kezelés 4. Adatbázis-kezelő rendszerek.
Készítette: Kiss András
Lekérdezések Adott tulajdonságú adatok listázásának módja a lekérdezés. A lekérdezések segítségével az adatbázisból megjeleníthetjük, módosíthatjuk, törölhetjük.
Módosító lekérdezések
Jelentések Jelentést akkor használunk, ha az adatbázisban letárolt adatokat szeretnénk kinyomtatni. A jelentésben szereplő adatok alapja egy tábla vagy.
Adatbáziskezelés.
Logisztikai projekt - gyakorlat Adatbázis-elmélet
Adatbázis-kezelés 2. Relációs adatbázisok.
az MSAccess programmal
DDL parancsok – Tábla műveletek, mezőtulajdonságok
Előadás másolata:

Készítette: Pető László ACCESS Készítette: Pető László

Az egyed A nyilvántartás szereplői pl.: az osztály tanulói A nyilvántartás célja határozza meg, hogy az egyedekről milyen adatokat tartunk nyilván. pl.: tanárok - érdemjegy; cipész - lábméret

A rekord Ugyanazon egyedről nyilvántartott adatok összessége általában sorszámmal látjuk el tanulókról például rekordot alkothat: név, születési hely, születési dátum, testvérek száma, tanulmányi átlag, bejáró-e.

A mező A nyilvántartás oszlopai A rekordok adatai a mezők sorrendjének megfelelően kell, hogy kövessék egymást.

Az adatbázisfájl A nyilvántartás valamilyen háttértárolón, fájlban helyezkedik el. Több összetartozó adatbázisfájl és a hozzájuk tartozó kiegészítő állományok (pl. indexfájl) alkotják az adatbázist.

A relációs adatbázis

Az adatbázis-kezelők feladata Az adatbázisfájl létrehozása Az adatbázisfájl kiegészítése újabb rekordokkal A rekordok tartalmának módosítása Rekordok törlése Válogatás a rekordok között Művelet elvégzése az adatbázisfájlban szereplő adatokkal

Az adatbázis-kezelők feladata A rekordok sorrendjének megváltoztatása Több adatbázisfájl egyidejű használata Az adatok kiírása Jelentéskészítés Lekérdezések végrehajtása

ACCESS A Microsoft Office irodai programcsomag adatbázis-kezelő programja

A mező neve A mezők azonosítója max. 64 karakterből állhat. Az azonosítókat a felhasználó adja meg. Nem tartalmazhat pontot, felkiáltójelet és szögletes zárójelet, de szóközt igen.

Példa mezőnevekre

Adattípusok szám dátum karaktersorozat (szöveg) logikai feljegyzés pénznem számláló OLE objektum hiperhivatkozás keresésvarázsló

Szám Csak számjegyeket, tizedesvesszőt és előjelet tartalmazhat -18,25 1965 +34,22 1, 2, 4 vagy 8 bájt

Dátum 8 bájt hosszú Dátumokat és időpontokat tartalmazhat.

Karaktersorozat Tetszőleges karaktereket tartalmazhat Bartók Béla 76-324616 76324616 Legfeljebb 255 bájt

Logikai adat Igen vagy nem jellegű kérdésekre tartalmazhat választ. Az igent az Y vagy a T betű jelentheti A nemet az N vagy az F betű jelentheti 1 bit

Feljegyzés Alfanumerikus karakterek Legfeljebb 64 kbájt

Pénznem Pénzérték 15 egész és 4 tizedes érték lehet 8 bájt

Számláló Egész számérték Az Access automatikusan kezeli a rekordok felvételekor 4 bájt

OLE objektum Kép, hang, Excel-tábla, Word dokumentum, stb., amit az Access táblához csatolhatunk. Legfeljebb 1 Gbájt

Hiperhivatkozás Szöveg, vagy szöveg és számok kombinációja, ami három részből áll Részenként max. 2048 karakter

Keresésvarázsló Erre kattintva keresőmező jön létre, amellyel egy másik listából vagy táblából választhatunk értékeket. Az elsődleges kulcs mérete általában 4 bájt.

Mezőméret A szövegmező mérete 1 és 255 karakter között, vagy a szám mezőfajtája adható meg.

Számformátumok Bájt: 0 és 255 közötti egész – 1 bájt Egész: -32768 és 32767 közötti egész – 2 bájt Hosszú egész: -3,4E38 és 3,4E38 közötti számok 7 tizedes pontossággal – 4 bájt Dupla: -1,797E308 és 1,797E308 közötti számok 15 tizedes pontossággal – 8 bájt

Formátum Az adatok megjelenítési és kinyomtatási módjának beállítása. Lehet szabványos, alapértelmezett, vagy egyedi.

Tizedeshelyek Szám és pénznemtípusok esetén a kijelzett tizedeshelyek száma adható meg.

Beviteli maszk Formázó karaktereket jelenít meg a mezőben, és biztosítja, hogy a bevitt adatok megfeleljenek a beállított maszknak.

Cím A mező átnevezésére szolgál. Az eredeti név helyett ez jelenik meg majd az adattáblában, a lekérdezésben, az űrlapon és a jelentésben.

Alapértelmezett érték Új rekord hozzáadásakor a mezőt automatikusan feltöltő érték.

Érvényességi szabály A mezőbe bevihető adatok körét korlátozó kifejezés.

Érvényesítési szöveg Az adatmezőben érvénytelen adat beírásakor megjelenő figyelmeztető üzenet.

Kötelező Ezzel a beállítással előírjuk, hogy a mezőbe mindig kell adatot bevinni, nem hagyható üresen.

Nulla hosszúság engedélyezése Szöveg vagy feljegyzés esetén megengedi, hogy tárolhassunk nulla hosszúságú sztringet.

Indexelt Az adott mező szerint rendezi logikailag a táblát, ami később gyorsítja az adatkeresést.

Új értékek Számláló esetén megadható, hogy az új rekord növekvő módon, vagy véletlenszerűen kapjon értéket.

Az adatbázisfájl tervezése Kik lesznek az egyedek? Milyen adatokat akarunk az egyedekről tárolni? (mezők) Mi legyen a mezők neve? Milyen típusúak legyenek a mezők? Milyen hosszúak legyenek a karakteres és a numerikus mezők? A numerikus mezők hány tizedest tartalmazzanak?

Példa - KÖNYV Szerző Cím Kiadás éve Vannak-e benne képek? Ára

Példa - ISMERŐSÖK Név Születési dátum Irányítószám Város Utca Házszám

Bejelentkező képernyő

Az adatbázis ablak

Az adatbázisfájl létrehozása Fájl | Új | Üres adatbázis (név: WORK) Az adatbázis ablakban: Táblák | Tábla létrehozása tervező nézetben

Az adattábla szerkezetének begépelése

Az adattábla szerkezetének begépelése

Az adattábla szerkezetének begépelése

Az adattábla szerkezetének begépelése

Az adattábla szerkezetének begépelése

Az adattábla szerkezetének begépelése

Az adattábla szerkezetének begépelése

Az adattábla szerkezetének mentése Fájl | Mentés (Táblanév: Tanulók) Az elsődleges kulcs a számláló legyen.

Az adatbázis feltöltése

Az adatbázisfájl feltöltése Külön mentésre nincs szükség!

Az aktuális rekord A nyitott adatbázisfájl kitüntetett rekordja Célszerű azt aktuálissá tenni, amelyikre szükségünk van. A rekordmező mutatja az aktuális rekord sorszámát.

Struktúra módosítása Adjunk az adattáblához egy új mezőt, ami a tanuló személyi számát tartalmazza! Tervező nézet!

Adatbeviteli maszk Az adatbevitelt segítő mezőtulajdonság Csak meghatározott karakterek begépelését engedélyezi.

Maszkkarakterek 0: számjegy, kötelező bevinni 9: számjegy, nem kötelező #: számjegy, előjel vagy szóköz; nem kötelező L: betű, kötelező ?: betű, nem kötelező A: betű vagy számjegy, kötelező

Maszkkarakterek a: betű vagy számjegy, nem kötelező &: bármilyen karakter vagy szóköz, kötelező C: bármely karakter vagy szóköz, nem kötelező .,:;-/ : tizedeshelyek és ezres, dátum- és időelválasztók

Maszkkarakterek <: minden ezt követő karakter kisbetűssé konvertálódik >: nagybetűsre !: a beviteli mező jobbról balra töltődik ki \: az ezt követő karakter változatlanul jelenik meg.

Beviteli maszk Adjuk meg a személyi igazolvány számához szükséges beviteli maszkot! … Mentsük a táblát!

Rekord hozzáfűzése Beszúrás > Új rekord

Rekordok törlése Rekord törlése gomb

Űrlapok használata

Űrlap futtatása Dupla kattintás

Példa

Példa

Feladatok Készítse el a fenti adattáblát! Készítsen hozzá űrlapot!

Feladat

Feladat

Feladat Hozd létre az adattáblát Készíts űrlapot!

Lekérdezések Az adattáblák adatainak kiválogatása megadott feltételek szerint. Választó Forrása egy vagy több tábla, eredménye dinamikus adattábla Kereszttáblás Csoportosított adatok összegét, átlagát vagy egyéb összesítését számítja

Lekérdezések Táblakészítő: Törlő: Hozzáfűző: Frissítő: Egy vagy több táblából egy újabb táblát készít Törlő: Segíti a törlésre szánt rekordok kiválasztását Hozzáfűző: Táblához hozzáfűzendő rekordok kiválasztása más táblákból. Frissítő: Sok mező adatainak a módosítását gyorsíthatja.

Lekérdezések Paraméteres: A lekérdezés feltételei futás közben adhatók meg.

Feladat A dolgozókat tartalmazó adatbázisból listázzuk az összes dolgozó nevét és havi alapbérét! Listázzuk az egyetemet végzett vezető beosztású dolgozók nevét és éves járandóságát!

Feladat Listázzuk a 60000 Ft-nál kevesebb havi alapbérű dolgozók nevét és alapbérét! Listázzuk az összes nem vezető beosztású 64000 Ft-nál magasabb havi alapbérű dolgozó nevét Listázzuk az összes olyan dolgozó nevét és havi alapbérét, aki 23 éves kora után került a céghez!

Jelentéskészítés Az adatbázisban nyilvántartott adatok nyomtatásban való megjelenítésére szolgál A jelentés szakaszai: Jelentésfej: A jelentés címét tartalmazza Oldalfej: Minden oldal tetején megjelenő szöveges információ Csoportfejléc: A csoportosítás alapját képező mezőt jeleníti meg.

Jelentéskészítés Törzs: Csoportlábléc: Oldalláb: Jelentésláb: Az adatok Csoportlábléc: a csoportra vonatkozó számításokat tartalmazza Oldalláb: Minden oldal alján megjelenik Jelentésláb: A legutolsó oldal legutolsó információi

Feladatok A tanulói adatbázisból tudjuk meg, hogy a tanulóknak hány testvérük van? Mennyi a tanulók tanulmányi átlaga? Hány tanulónak jobb a tanulmányi átlaga 3,75-nél? Mennyi a bejáró tanulók átlaga? Hány tanuló születet 1988 előtt?

Indexelés A rekordok kezelési sorrendjét anélkül változtatjuk, hogy azok fizikai sorrendje változna. A kezelési sorrend módosítását egy általunk megadott kifejezéssel, a kulcskifejezéssel valósítjuk meg. A kulcskifejezés értéke minden rekordnál kiszámítódik, a rekordok ezen érték szerint növekvően alakítják ki a kezelési sorrendet.

Indexelés A kialakuló sorrend egy indexfájlban tárolódik. Az indexfájl ugyanannyi rekordból áll, mint az adatbázisfájl. Két mezőből áll: a kulcskifejezés értéke a rekordok eredeti sorszáma Az adatbázisfájlt ilyenkor indexelt adatbázisfájlnak nevezzük

Példa Kulcskifejezés: TESTVER*10+ATLAG

Példa Az indexfájl: Kezelési sorrend: Első a 6. Rekord második a 3. Rekord harmadik a 2. Rekord negyedik az 5. Rekord ötödik az 1. Rekord hatodik a 4. Rekord

Feladatok A dolgozói adatbázist indexelje névsor szerint! A dolgozói adatbázist indexelje alapbér szerint!

Adatbázisfájlok kapcsolata (Feladaton keresztül) ISMEROS

Adatbázisfájlok kapcsolata (Feladaton keresztül) POSTA

Kapcsoló-kifejezés Amely alkalmas két adatbázisfájl közötti kapcsolat kialakítására. Az előző feladatban az IRSZ illetve a SZAM mezők voltak a kapcsoló-kifejezések.

Két adatbázisfájl összekapcsolása A kapcsoló-kifejezések segítségével tartós kapcsolatot alakítunk ki az adatbázisfájlok között. Az összekapcsolt adatbázisok nem egyenrangúak; vezér  szolga A tartósság azt jelenti, hogy a vezér bármely rekordját aktuálissá téve a szolga azon rekordja válik aktuálissá, amely biztosítja, hogy a kapcsoló-kifejezések értéke ugyanaz legyen.

Az összekapcsolás menete A vezért és a szolgát is meg kell nyitni A szolgával kapcsolatban létre kell hozni egy indexfájlt, amely a kapcsoló-kifejezés szerinti növekvő sorrendet biztosítja.

Az összekapcsolás menete Eszközök > Kapcsolatok…

A Szam mezőt húzd át az IRSZ-hez!

Lekérdezés két táblából Listázzuk az ismerőseink nevét, és lakhelyét!

Jelentés létrehozása lekérdezésből Készítsük el az előbbi lekérdezés nyomtatható változatát!

Adatbázisfájlok együttes tervezése Ha tervezéskor kiderül, hogy egy mezőben az értékek gyakran ismétlődnek, akkor azokat érdemes külön adatbázisfájlban elhelyezni, mert ott csak egyszer kell őket szerepeltetni. Valamilyen kóddal érdemes helyettesíteni, ami mindkét adatbázisban kapcsoló-kifejezés lesz.

Több adatbázisfájl összekapcsolása Egy vezérhez egyidejűleg több szolga kapcsolható A szolga is vezére lehet egy másik adatbázisfájlnak. Kétszer nem szerepelhet a láncban ugyanaz az adatbázisfájl

Példa FORGALOM egy áruház napi forgalmi adatait tartalmazza

Példa ARU tartalmazza, hogy melyik cikkszám melyik árut jelenti, az áru egységárát, mennyiségi egységét.

Példa MERTEK innen lehet megtudni, hogy melyik mértékegységkód melyik mértékegységet jelöli

Példa A FORGALOM és az ARU a cikkszám segítségével kapcsolhatók össze Az ARU és a MERTEK a mértékegységkód segítségével kapcsolhatók össze.

Az SQL SQL : Structured Query Language Az Accessben történő lekérdezések mindig SQL-ben készülnek. Nagyobb lélegzetű lekérdezések esetén elengedhetetlen a nyelv ismerete.

Új tábla létrehozása CREATE TABLE táblanév( Mező1 típus (méret) ……… )

Kapcsolat más táblákkal CONSTRAINT név PRIMARY KEY vagy UNIQUE vagy REFERENCES külsőtábla

Új index létrehozása CREATE INDEX index ON tábla

Törlés Tábláé: DROP TABLE tábla Indexé: DROP INDEX index ON tábla

SELECT SELECT mezőnevek FROM táblanevek WHERE feltétel GROUP BY csoportosítás HAVING feltétel ORDER BY rendezési szempont

1. Feladat Hozz létre egy Tanulo nevű táblát (Tankod Integer, TanNev Text(20)) típusú mezőkkel! Az SQL parancs beírása után nyissuk meg és töltsük fel 8-10 adattal!

Like Kérdezd le a „K” betűvel kezdődő tanulók összes adatát! SELECT * FROM Tanulo WHERE TanNev LIKE "K*";

2. Feladat Kérdezd le a Tanulo tábla összes adatát! SELECT * FROM Tanulo;

3. Feladat Kérdezd le a tábla összes sorát, de csak a tanulók neve jelenjen meg! SELECT TanNev FROM Tanulo;

4. feladat Jelenítsd meg a K és L betűvel kezdődő tanulók nevét! SELECT TanNev FROM Tanulo WHERE TanNev LIKE "[K-L]*";

5. Feladat Listázd ki azon hallgatók kódját, akiknek a neve nem kezdődik A,B,C betűvel! SELECT Tankod FROM Tanulo WHERE TanNev LIKE "[!A-C]*"

6. Feladat Egészítsük ki a táblát egy osztondij integer típusú mezővel! ALTER TABLE Tanulo ADD osztondij integer; Egészítsd ki a tábla rekordjait az ösztöndíjak értékével!

7. Feladat Listázd ki a 10 és 20 ezer forint közötti ösztöndíjjal rendelkező hallgatók összes adatát! SELECT * FROM Tanulo WHERE (osztondij <=20000) AND (osztondij>=10000); illetve SELECT * FROM Tanulo WHERE osztondij BETWEEN 10000 AND 20000

8. Feladat Listázd ki azon hallgatók nevét, akiknek az ösztöndíja kevesebb, mint 15000 Ft! SELECT tannev FROM tanulo WHERE osztondij<15000;

9. Feladat Listázd ki azon hallgatók nevét és kódját, akiknek a neve K betűvel kezdődik, és ösztöndíjuk kevesebb, mint 20000 Ft! SELECT TanNev,TanKod FROM Tanulo WHERE TanNev LIKE "K*" AND osztondij<20000;

10. Feladat Listázd ki a nem ABCDEFG betűvel kezdődő nevű hallgatók ösztöndíjának 10%-át! SELECT (osztondij*0.1) FROM Tanulo WHERE tannev LIKE "[!A-G]*";

11. feladat Listázzuk ki az összes tanuló nevét és ösztöndíjának 10%-kal emelt összegét! Az emelt összeg mező neve legyen: emelt! SELECT TanNev, (osztondij*1.1) AS emelt FROM tanulo;

12. feladat Hajtsunk végre 10%-os ösztöndíjemelést minden tanulóra! UPDATE tanulo SET osztondij=osztondij*1.1; Hajtsunk végre további 8%-os emelést minden 10-nél kisebb kódú tanulónál! UPDATE tanulo SET osztondij=osztondij*1.08 WHERE tankod<10;

13. feladat Írassa ki az összes hallgató összes adatát névsorban! SELECT * FROM tanulo ORDER BY tannev;

14. feladat Írassa ki az összes hallgató összes adatát ösztöndíj és azon belül név szerint rendezve! SELECT * FROM tanulo ORDER BY osztondij, tannev;

15. feladat Írassa ki, hogy havonta mennyi ösztöndíjat kell kifizetni a hallgatóknak! A számolt mező neve legyen osszes! SELECT SUM(osztondij) AS osszes FROM tanulo;

16. feladat Egészítsük ki a tábla szerkezetét egy neme nevű 1 karakteres típusú mezővel! (Az „N” érték jelentse, hogy a tanuló nő, az „F” érték jelentse, hogy a tanuló férfi!) ALTER TABLE Tanulo ADD neme varchar(1); Aktualizáljuk a táblát!

17. feladat Listázza ki a nő és a férfi hallgatók átlag ösztöndíját! Az átlagot jelző mező neve legyen atlag! SELECT Avg(osztondij) AS atlag FROM tanulo GROUP BY neme;

18. feladat Egészítse ki az előző lekérdezést úgy, hogy láthassuk, hogy melyek a férfiak, melyek a nők átlagai! SELECT Avg(osztondij) AS atlag, IIF(neme=„F”,”FÉRFI”,”NŐ”) AS [Tanuló neme] FROM tanulo GROUP BY neme;

19. feladat Hozzunk létre egy újabb táblát, mely a tanulók jegyeit tartalmazza. A tábla neve: JEGYEK, szerkezete: Tankod integer Tantargy varchar(20) Jegy Byte CREATE TABLE jegyek(tankod integer, tantargy varchar(20), jegy byte);

20. feladat Töltse fel úgy a táblát, hogy legyen olyan tanuló, akinek egy tárgyból több jegye van, legyen olyan tanuló, akinek nincs jegye (olyan kódú hallgatót nem kell felvenni a jegyek táblába!), de legyen olyan hallgató is, akinek csak 1 jegye van 1 tárgyból!

21. feladat Jelenítse meg a tanuló nevét, mellé a tantárgy megnevezését, és a megszerzett jegyet! SELECT tannev, tantargy, jegy FROM tanulo, jegyek WHERE tanulo.tankod=jegyek.tankod;

22. feladat Listázza ki azon hallgatók nevét, akik valamilyen tantárgyból jelest szereztek! SELECT DISTINCT(tannev) FROM tanulo, jegyek WHERE tanulo.tankod=jegyek.tankod AND jegy=5; (DISTINCT : ismétlődés elnyomás! Miért?)

23. feladat Listázza ki a tanulók nevét és átlageredményét! SELECT tannev, avg(jegy) as atlageredmeny FROM tanulo, jegyek WHERE tanulo.tankod=jegyek.tankod GROUP BY tannev;

24. feladat Írassa ki a tantárgy megnevezését és átlageredményét! SELECT tantargy, avg(jegy) as tantargyatlag FROM tanulo, jegyek WHERE tanulo.tankod=jegyek.tankod GROUP BY tantargy;

25. feladat Írassa ki a 3.0 átlagnál jobb eredményt elért tanulók nevét! SELECT tanulo.tannev FROM tanulo, jegyek WHERE tanulo.tankod=jegyek.tankod GROUP BY tanulo.tannev HAVING Avg(jegy)>3; Ha a lekérdezés feltételében függvény van, akkor azt a HAVING után kell írni!

26. feladat Írassuk ki azon tanulók nevét, akiknek a kódja 1,2,5,6 SELECT tannev FROM tanulo WHERE tankod IN (1,2,5,6);

27. feladat Írassuk ki azon tanulók nevét, akiknek a kódja nem 1,2,5,6! SELECT tannev FROM tanulo WHERE NOT (tankod IN (1,2,5,6));

28. feladat Kik azok a tanulók akik nem kaptak jegyet? SELECT tannev FROM tanulo WHERE NOT (tankod IN (SELECT tankod FROM jegyek));

29. feladat Listázza ki minden tanuló nevét és elért legjobb osztályzatát! SELECT tannev, max(jegy) FROM tanulo, jegyek WHERE jegyek.tankod=tanulo.tankod GROUP BY tannev;

30. feladat Keresse ki azon tanulók nevét, akik a legjobb osztályzatot érték el! (Nem biztos, hogy 5-ös!!!) SELECT DISTINCT (Tannev) FROM Tanulo, Jegyek WHERE Tanulo.Tankod=jegyek.tankod AND (jegyek.jegy=(SELECT max(jegy) FROM JEGYEK));

VÉGE