Spread the love
  • 3 hónap telt el az utolsó módosítás óta
  • 2perc
  • 361szó
  • 165olvasás

A JOIN utasítás és használata

Egy adatbázisban általában nem csak egy táblát tárolunk, hanem többet is, amelyet elsősorban az adatok átláthatóságának érdekében célszerű használni. Ezeket a táblákat azonban össze kell kapcsolni, vagyis ‘relációba’ kell helyezni egymásal, valamely mező vagy mezők alapján.

Az összekapcsolásnak többféle típusa létezik, de mindegyik a JOIN utasításhoz kapcsolódik: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN

A különböző típusok két tábla esetében az alábbiakban szemléltethetőek a halmazelmélet alapján.

INNER JOIN

Csak azokat a rekordokat adja vissza, amelyeknek a párja mind a két táblában előfordul.

LEFT JOIN

Visszaadja az összes rekordot a bal oldali táblából, melyhez társítja azokat a jobb oldali rekordokat, amelyekhez talált párt. Amely rekordokhoz nem talált párt, azokat NULL értékekkel tölti fel.

RIGHT JOIN

Visszaadja az összes rekordot a jobb oldali táblából, melyhez társítja azokat a bal oldali rekordokat, amelyekhez talált párt. Amely rekordokhoz nem talált párt, azokat NULL értékekkel tölti fel.

FULL OUTER JOIN

Visszaadja az összes rekordot függetlenül attól, hogy van-e párja valamelyik oldalon vagy sem. Amely rekordokhoz nem talált párt, azokat NULL értékekkel tölti fel.

INNER JOIN szintaxis

SELECT oszlop(ok)
FROM tábla1
INNER JOIN tábla2
ON tábla1.azonosító1=tábla2.azonosító2;

LEFT JOIN szintaxis

SELECT oszlop(ok)
FROM tábla1
LEFT JOIN tábla2
ON tábla1.azonosító1=tábla2.azonosító2;

RIGHT JOIN szintaxis

SELECT oszlop(ok)
FROM tábla1
RIGHT JOIN tábla2
ON tábla1.azonosító1=tábla2.azonosító2;

FULL OUTER JOIN

A MySQL-ben a FULL JOIN nem elérhető, de egy LEFT JOIN és egy RIGHT JOIN uniójával emulálható.

+

SELECT oszlop(ok)
FROM tábla1, tábla2
WHERE tábla1.azonosító1=tábla2.azonosító2;

Hogyan értékeli a posztot?

Kattins a megfelelő csillagra!

Átlagpontszám 3 / 5. Értkelés 2

Még nem értékeltél!

Vélemény, hozzászólás?