Többtáblás lekérdezések

Lehetőségünk nyílik arra is, hogy egyszerre több táblából is lekérdezzünk adatokat. Amikor a SELECT utasítással egynél több táblából kérdezünk le adatokat, akkor a táblák összekapcsolásáról (join) beszélünk.

Feladatok: Készíts új adatbázist Tobbtabla néven és itt hozd létre, és töltsd fel adatokkal a Dolgozok és a Fizetesek adattáblát!

A Dolgozok adattábla szerkezete:

Dolgozok (Torzsszam, Nev, Szul_hely, Szul_ido)

Torzsszam Azonosító (szám) EK
Nev A dolgozó szeve (szöveg)
Szul_hely A település, ahol született (szöveg)
Szul_ido Születésének dátuma (dátum)

A Fizetesek adattábla szerkezete:

Fizetesek (Sorszam, Kifizetes_datuma, Kifizetett_ber, Levont_ado,Torzsszam)

Sorszam Azonosító (szám) EK
Kifizetes_datuma Dátum (dátum)
Kifizetett_ber Bér (szám)
Levont_ado Adó (szám)
Torzsszam Kapcsolómező (szám) IK

$$\ \ $$
$$\ \ $$
Próbáld ki a következő lekérdezést!

SELECT Nev, Kifizetett_ber, Kifizetes_datuma FROM Dolgozok, Fizetesek

A Dolgozok tábla minden sora össze lett kapcsolva a Fizetesek tábla minden egyes sorával. $3 \cdot 6=18$ sor. Nem ezt vártuk! Valójában csak azokat a neveket, dátumokat és bért akarjuk egymás mellett látni, ahol az azonosítók megegyeznek. Ezt a WHERE feltételben jelezni kell.

SELECT Nev, Kifizetett_ber, Kifizetes_datuma FROM Dolgozok, Fizetesek WHERE Dolgozok.Torzsszam=Fizetes.Torzsszam

$$\ \ $$
$$\ \ $$

Gyakorlás:    Kosárlabda

Készíts új adatbázist kosar néven és ide importáld a jatekos.csv és a jegyzokonyv.csv táblát!

Beolvasáskor állítsd be a megfelelő adatformátumokat és kulcsokat! A jatekos táblába ne vegyél fel új mezőt! A jegyzokonyv táblába állíts be a rekordok azonosítására azon néven egy új mezőt!

Az adattáblák szerkezete:

jatekos (nev, mez, magassag, poszt)

nev A játékos neve (szöveg)
mez A játékos mezszáma (szám) EK
magassag A játékos magassága (szám)
poszt A játékos feladata a mérkőzésen (szöveg)

$$\ \ $$ jegyzokonyv (azon, mez, be, ki, bkis, bjo)

$$\ \ $$
azon A jegyzőkönyv egy bejegyzésének azonosítója (szám) EK
mez A játékos mezszáma (szám)
be A pályára lépés időpontja (idő)
ki A lecserélés időpontja (idő)
bkis Kosárra dobási kísérletek száma (szám)
bjo A jó dobási kísérletek száma (szám)
$$\ \ $$ A két tábla között a kapcsolatot a mez mező adja meg, amely a jatekos táblában elsődleges kulcs a jegyzokonyv táblában idegen kulcs.

Feladatok: Lekérdezés segítségével válaszolj a következő kérdésekre!

  1.   Sorold fel a játékosok nevét, magasságát és mezszámát névsorban! (A)
  2.   Írasd ki, hogy Víg Péter a mérkőzés során mikor állt be és mikor cserélték le! (B)
  3.   Határozd meg lekérdezés segítségével, hogy Magas Viktornak hány jó dobási kísérlete volt a mérkőzésen! (C)
  4.   Listázd ki játékosonként az összes jó dobási és az összes kosárra dobási kísérletek számát! (D)

  5.   Lekérdezés segítségével add meg annak a játékosnak a nevét, aki a 35 perc 0 másodperc – 40 perc 0 másodperc időintervallumban irányító posztra állt be csereként! (E)
$$\ \ $$