INNER JOIN művelet

Segítségével rekordokat lehet kombinálni két táblából minden olyan esetben, ahol egyező értékek szerepelnek egy közös mezőben.

Szintaxis

FROM tábla1 INNER JOIN tábla2 ON tábla1.mező1összehasonlító operátor tábla2.mező2

Az INNER JOIN művelet részei a következők:

Rész

Leírás

tábla1, tábla2

Annak a két táblának a neve, amelyeknek a rekordjait egyesíti.

mező1, mező2

Az illesztendő mezők neve. Ha a mezők nem numerikusak, akkor az adattípus azonosnak kell lennie, és ugyanolyan jellegű adatokat kell tartalmazniuk. A nevük lehet különböző.

összehasonlító operátor

Bármely relációs összehasonlító operátor: "=", "<", ">", "<=", ">=" vagy "<>".


Megjegyzések

INNER JOIN műveletet bármely FROM záradékban használhat. Ez az illesztések legáltalánosabb típusa. A belső illesztések két tábla rekordjait kombinálják minden olyan esetben, ahol a két tábla közös mezőjében egyező értékek szerepelnek.

Az INNER JOIN műveletet a Részlegek és Alkalmazottak táblával használva kijelölheti az összes alkalmazottat az egyes részlegekben. Ezzel szemben ha az összes részleget (még ha néhányukhoz nincs is alkalmazott rendelve) vagy az összes alkalmazottat (még ha néhányuk nincs is hozzárendelve egy részleghez) szeretné kijelölni, egy LEFT JOIN vagy RIGHT JOIN művelettel létrehozhat egy külső illesztést.

Ha Feljegyzés vagy OLE-objektum típusú adatokat tartalmazó mezőket próbál egymáshoz illeszteni, hibát fog jelezni a rendszer.

Bármely két, hasonló típusú numerikus mezőt egymáshoz illeszthet. Egymáshoz illeszthet például egy Számláló és egy Hosszú adattípusú mezőt, mivel azok típusa hasonló. Nem illeszthet egymáshoz azonban egy Szimpla és egy Dupla típusú mezőt.

Az alábbi példában az látható, hogy hogyan illesztheti egymáshoz a Kategóriák és a Termékek táblát a Kategóriaazonosító mezőnél:

SELECT CategoryName, ProductName
FROM Categories INNER JOIN Products
ON Categories.CategoryID = Products.CategoryID;

Ebben a példában, habár a Kategóriaazonosító az illesztett mező, mégsem szerepel a lekérdezés kimenetében, mivel nem lett megadva a SELECT utasításban. Az illesztett mező megjelenítéséhez adja meg a mező nevét a SELECT utasításban – ez a fenti példában a Categories.CategoryID.

Azt is megteheti, hogy több ON záradékot kapcsol össze egy JOIN utasításban, az alábbi szintaxis használatával:

SELECT mezők
FROM tábla1 INNER JOIN tábla2
ON tábla1.mező1összehasonlító operátortábla2.mező1 AND
ON tábla1.mező2összehasonlító operátortábla2.mező2) OR
ON tábla1.mező3összehasonlító operátortábla2.mező3)];

JOIN utasításokat is beágyazhat az alábbi szintaxis használatával:

SELECT mezők
FROM tábla1 INNER JOIN
(tábla2 INNER JOIN [( ]tábla3
[INNER JOIN [( ]táblax [INNER JOIN ...)]
ON tábla3.mező3összehasonlító operátortáblax.mezőx)]
ON tábla2.mező2összehasonlító operátorbla3.mező3)
ON tábla1.mező1összehasonlító operátortábla2.mező2;

A LEFT JOIN vagy a RIGHT JOIN műveletek beágyazhatók az INNER JOIN műveletekbe, az INNER JOIN műveletek azonban nem ágyazhatók be a LEFT JOIN vagy a RIGHT JOIN műveletekbe.



Ismeretek bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Részvétel az Office Insider programban

Hasznos volt az információ?

Köszönjük a visszajelzését!

Köszönjük visszajelzését. Jobbnak látjuk, ha az Office egyik támogatási szakemberéhez irányítjuk.

×