Kollégák, diákok és a Google segítségével! Köszönet nekik!

Egytáblások

Egyszerű felépítésű, kevés rekordot tartalmazó, egymástól független adattáblák. A lehetőségekhez képest változatos adattípusokkal. Táblán belül is sok ismétlődéssel, hogy a GROUP BY záradékot is legyen lehetőség gyakorolni. Két nézet tábla is van, ami további beszélgetésre ad lehetősget.

egytablasok.sql (719 906 byte) letöltése - kapcsolódó feladatok (8 723 byte)

Országok

Az infojegyzet.hu-ról letölthető minta adatbázis. A honlapon további információk és gyakorlásra alkalmas feladatok találhatók!

orszagok.sql (39 148 byte) letöltése - kapcsolódó feladatok (3 633 byte)

Tagdíj

Az infojegyzet.hu-ról letölthető minta adatbázis. A honlapon további információk és gyakorlásra alkalmas feladatok találhatók!

Tagdíj adatbázis kapcsolati diagramja

tagdij.sql (5 378 byte) letöltése - kapcsolódó feladatok (6 585 byte)

Pizza

Az infojegyzet.hu-ról letölthető minta adatbázis. A honlapon további információk és gyakorlásra alkalmas feladatok találhatók!

Pizza adatbázis kapcsolati diagramja

pizza.sql (6 412 byte) letöltése - kapcsolódó feladatok (13 201 byte)

join gyakorláshoz

Az összekapcsolások fajtái (SQL:1999)
Direktszorzat (kereszt-összekapcsolás)

Két tábla direkt szorzata az alábbi esetekben jön létre:

  • az összekapcsolási feltétel elhagyásával
  • nem megengedett összekapcsolási feltétellel
  • az első tábla összes sorának összekapcsolása a másik tábla összes sorával - CROSS JOIN
Természetes összekapcsolás

A NATURAL JOIN utasítás a benne szereplő két tábla azonos nevű oszlopain alapul.

A két tábla azon sorait eredményezi, ahol az azonos nevű oszlopokban szereplő értékek megegyeznek.

Ha az azonos nevű oszlopok adattípusa eltérő, akkor hibával tér vissza az utasítás.

SELECT t1.*, t2.* FROM t1 NATURAL JOIN t2;

USING utasítással történő összekapcsolás

JOIN tábla USING oszlopnév – az oszlopnév értékeinek egyenlőségi vizsgálatán alapuló összekapcsolás.

Ha több oszlopnak azonos ugyanaz a neve megadhatjuk, hogy mely oszlopokat akarjuk használni az egyenlőségen alapuló összekapcsoláshoz.

Ne használjunk alias nevet azon oszlopokra, amelyeket a USING kulcsszó után adtunk meg.

SELECT t1.*, t2.* FROM t1 JOIN t2 USING(num);

Teljes (vagy két oldali) összekapcsolás

Belső összekapcsolásnak nevezzük azon összekapcsolásokat, amelyek két tábla megegyező soraival térnek vissza. - [INNER] JOIN -

Két tábla olyan összekapcsolását, amely a belső összekapcsolás eredményéhez hozzáveszi a bal (vagy jobboldali) tábla összes sorát, baloldali (vagy jobboldali) külső összekapcsolásnak nevezzük.

Tetszőleges feltételen alapuló összekapcsolás

JOIN tábla ON tábla1.oszlopnév – az ON után szereplő egyenlőségi feltétel vizsgálatán alapuló összekapcsolás

SELECT t1.*, t2.* FROM t1 JOIN t2 ON t1.num = t2.num;

SELECT t1.*, t2.* FROM t1 JOIN t2 ON t1.num <= 5 AND t2.num <= 5 AND t1.num = t2.num;

SELECT t1.*, t2.* FROM t1 JOIN t2 ON t1.num BETWEEN 3 AND 5 AND t1.num = t2.num;

SELECT t1.*, t2.* FROM t1 JOIN t2 ON t1.num % 2 = 0 AND t1.num = t2.num;

join gyakorláshoz adatbázis kapcsolati diagramja

join_alapok.sql (1 786 byte) letöltése

Gyümölcsök

Mely gyümölcsök szerepelnek mindkét táblában?

Megoldás: SELECT t1.gyumolcs FROM t1 JOIN t2 ON t1.gyumolcs = t2.gyumolcs;

Mely gyümölcsök szerepelnek CSAK a t1 táblában? (a t2-ben nem)

Megoldás: SELECT t1.* FROM t1 LEFT JOIN t2 USING(gyumolcs) WHERE t2.id IS NULL;

Mely gyümölcsök szerepelnek CSAK a t2 táblában? (a t1-ben nem)

Megoldás: SELECT t2.* FROM t1 RIGHT JOIN t2 USING(gyumolcs) WHERE t1.id IS NULL;

Csak az egyik táblában szereplő gyümölcsök.

Megoldás: SELECT t2.* FROM t1 RIGHT JOIN t2 USING(gyumolcs) WHERE t1.id IS NULL UNION SELECT t1.* FROM t1 LEFT JOIN t2 USING(gyumolcs) WHERE t2.id IS NULL;
SELECT * FROM t2 WHERE NOT EXISTS (SELECT * FROM t1 WHERE t1.gyumolcs = t2.gyumolcs) UNION SELECT * FROM t1 WHERE NOT EXISTS (SELECT * FROM t2 WHERE t1.gyumolcs = t2.gyumolcs);

Mely gyümölcsök szerepelnek a táblák valamelyikében?

Megoldás: SELECT t2.gyumolcs FROM t2 UNION SELECT t1.gyumolcs FROM t1 ORDER BY gyumolcs;

Mely gyümölcsöknek tér el az ára?

Megoldás: SELECT t2.*, t1.* FROM t1 JOIN t2 ON t1.gyumolcs = t2.gyumolcs AND t2.egysegar != t1.egysegar;

Az összes gyümölcs az összes jellemzőjével. (Ha mindkét táblában szerepel, akkor a magasabb árral jelenjen meg.)

Megoldás:

Gyümölcsök adatbázis kapcsolati diagramja

join_gyumolcsok.sql (2 835 byte) letöltése

Vásárlások

Egyszerű JOIN és GROUP BY gyakorló

Vásárlások adatbázis kapcsolati diagramja

vasarlasok.sql (17 803 byte) letöltése - kapcsolódó feladatok (2 173 byte)

Atlétika világbajnokság 2017

2017-es Londonban megtartott VB egyéni dobogós eredményei

Atlétika világbajnokság 2017 adatbázis kapcsolati diagramja

atletikavb2017.sql (12 013 byte) letöltése

Monthy Python

Régebbi vizsga feleadat

Monthy Python adatbázis kapcsolati diagramja

monthypython.sql (607 626 byte) letöltése - kapcsolódó feladatok (699 byte)

Szinkronhangok

2023 emelt érettségi adatbázisa

Szinkronhangok adatbázis kapcsolati diagramja

szinkronhangok.sql (24 576 byte) letöltése - kapcsolódó feladatok (3 167 byte)

Roxfort

A Roxfort Boszorkány- és Varázslóképző Szakiskola gyakorlatai. Papp Dávid pályaelhagyó kolléga hagyatéka 2021-ből!

Roxfort adatbázis kapcsolati diagramja

roxfort.sql (6 588 byte) letöltése

Oktat

Oracle-honlapról volt letölthető ez a minta adatbázis. Hozzá tartozó feladat gyűjtemény

Oktat adatbázis kapcsolati diagramja

oktat.sql (3 679 byte) letöltése

Classic Models

A MySQLTUTORIAL-ról letölthető minta adatbázis. A honlapon további feladatok és ismeretek találhatók.

Classic Models adatbázis kapcsolati diagramja

classicmodels.sql (220 890 byte) letöltése

Employees Database

A MySQL-ről letölthető minta adatbázis. A honlapon további feladatok és ismeretek találhatók. Lehet szükséged lesz a parancssor használatára: mysql -h 127.0.0.1 -u root -p < employees.sql

Employees Database adatbázis kapcsolati diagramja

employees.sql (168 372 794 byte) letöltése

Bowling League Database

Bowling League Database adatbázis kapcsolati diagramja

bowlingleagueexample.sql (40 863 byte) letöltése

Entertainment Agency Database

SQL lekérdezések földi halandóknak.pdf

Entertainment Agency Database adatbázis kapcsolati diagramja

entertainmentagencyexample.sql (40 910 byte) letöltése

Recipes Database

by Greg Helton SQL lekérdezések földi halandóknak.pdf

Recipes Database adatbázis kapcsolati diagramja

recipes.sql (19 070 byte) letöltése

Salesorders Database

SQL lekérdezések földi halandóknak.pdf

Salesorders Database adatbázis kapcsolati diagramja

salesordersexample.sql (244 082 byte) letöltése

School Scheduling Database

SQL lekérdezések földi halandóknak.pdf

School Scheduling Database adatbázis kapcsolati diagramja

schoolschedulingexample.sql (40 960 byte) letöltése

Országok és városok

Országok és városok adatbázis kapcsolati diagramja

world.sql (239 308 byte) letöltése

Magyarországi helységek

2023.01.01 KSH adatok alapján

Magyarországi helységek adatbázis kapcsolati diagramja

helysegek.sql (1 911 391 byte) letöltése - kapcsolódó feladatok (1 415 byte)

Sakila Database

A MySQL dev-ről is letölthető minta adatbázis. Leírás és feladat

Sakila Database adatbázis kapcsolati diagramja

sakila.sql (3 702 434 byte) letöltése

Törpe tárnák

Tari Balázs Programozás és algoritmizálás JavaScript nyelven elektronikus tananyag-ában szereplő minta adatbázis.

A dombi törpék egész évben szorgosan bányásznak. Tíz tárnában dolgoznak, aranyat, vasat, ezüstöt és rezet hoznak fel a föld mélyéből. A klánokba szerveződött törpék társadalmában a nők is ugyanúgy kiveszik a munkából a részüket, mint a férfiak, azaz ők is bányásznak. Minden törpe több helyen is dolgozhatott az év folyamán, egyszer vasat keresett, máskor például aranyat.

Törpe tárnák adatbázis kapcsolati diagramja

torpetarna.sql (6 303 byte) letöltése

Magyarországi irányítószámok

A mindenkori magyarországi irányítószámok a Magyar Posta honlapjáról letölthetők. Ha kicsit is figyelsz a felhasználói adatbevitel segítésére, akkor a minimum, hogy nem íratod be vele a helység nevét. Validálásnál is kihagyhatatlan az irányítószám és helységnév páros ellenőrzése. Órán nem szokott idő lenni arra, hogy rámutassak, az irányítószám NEM egyedi azonosító!

iranyitoszamok.sql (1 700 628 byte) letöltése

Filmek

Filmek néhány adattal.

Filmek adatbázis kapcsolati diagramja

filmekdb.sql (1 079 400 byte) letöltése

Könyvtári adatok

Könyvek adatai kölcsönzéshez.

Könyvtári adatok adatbázis kapcsolati diagramja

konyvtar.sql (35 557 byte) letöltése

Marvel-moziuniverzum filmjei

Marvel-moziuniverzum filmjei adatbázis kapcsolati diagramja

marvel.sql (15 494 byte) letöltése

Vizes munkák

Vizes munkák adatbázis kapcsolati diagramja

viz.sql (32 768 byte) letöltése

Kémiai elemek

A kémiai elemek és tulajdonságaik. Mert mégiscsak vegyésznek készültem.

Kémiai elemek adatbázis kapcsolati diagramja

elements.sql (89 499 byte) letöltése