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. field1compopr table2. 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 egyesítendő mezők neve. Ha nem numerikusak, a mezőknek azonos adattípusúnak kell lenniük, és ugyanolyan típusúaknak kell lenniük, de nem kell ugyanazzal a névvel rendelkezniük. |
| ö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 ki szeretné választani (még akkor is, ha néhányhoz nincs alkalmazott hozzárendelve) vagy az összes alkalmazottat (még akkor is, ha néhány nincs hozzárendelve egy részleghez), a LEFT JOIN vagy a RIGHT JOIN művelettel külső illesztést hozhat létre.
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;
Az előző példában a CategoryID az illesztett mező, de nem szerepel a lekérdezés kimenetében, mert nem szerepel a SELECT utasításban. Az illesztett mező hozzáadásához adja meg a mező nevét a SELECT utasításban – ebben az esetben 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. field1compoprtable2. mező1 ÉS
ON tábla1. field2compoprtable2. mező2) VAGY
ON tábla1. field3compoprtable2. mező3)];
JOIN utasításokat is beágyazhat az alábbi szintaxis használatával:
SELECT mezők
FROM tábla1 INNER JOIN
(table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON tábla3. field3compoprtablex. fieldx)]
ON tábla2. field2compoprtable3. mező3)
ON tábla1. field1compoprtable2. 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.