FROM záradékban használva a forrástáblák rekordjainak egyesítésére szolgálnak.
Szintaxis
FROM tábla1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1compopr table2.field2
A LEFT JOIN és RIGHT JOIN műveletek a következő részekből állnak:
| 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. 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
BAL OLDALI ILLESZTÉS művelettel hozzon létre egy bal oldali külső illesztést. A bal oldali külső illesztések az első (bal oldali) tábla minden rekordját egyesítik a második (jobb oldali) tábla rekordjaival még akkor is, ha azok nem tartalmaznak egyező értékeket.
Jobb oldali külső illesztés létrehozása RIGHT JOIN művelettel. A jobb oldali külső illesztések a második (jobb oldali) tábla minden rekordját egyesítik az első (bal oldali) tábla rekordjaival még akkor is, ha azok nem tartalmaznak egyező értékeket.
A LEFT JOIN műveletet használhatja például a Részlegek elnevezésű (bal oldali) és az Alkalmazottak elnevezésű (jobb oldali) táblákkal az összes részleg kiválasztásához, beleértve azokat is, amelyekhez nincsenek alkalmazottak rendelve. Az összes alkalmazott kiválasztásához, beleértve azokat is, akik nincsenek részleghez rendelve, a RIGHT JOIN műveletet kell használni.
Az alábbi példa azt mutatja be, hogyan illesztheti össze a Categories (Kategóriák) és Products (Termékek) táblákat a CategoryID (Kategóriaazonosító) mezőnél. A lekérdezés eredményeképpen a rendszer felsorolja az összes kategóriát, beleértve azokat is, amelyek nem tartalmaznak termékeket.
SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;
Ebben a példában a CategoryID az illesztett mező, de nem szerepel a lekérdezés eredményei között, mert nem szerepel a SELECT utasításban. Az illesztett mező belefoglalásához írja be a mező nevét a SELECT utasításba – ebben az esetben Categories.CategoryID: .
Olyan lekérdezés létrehozásához, amely csak azokat a rekordokat téríti vissza, melyeknél az illesztési mezőkben azonos adat szerepel, használja az INNER JOIN műveletet.
- LEFT JOIN vagy RIGHT JOIN beágyazható INNER JOIN műveletbe, de INNER JOIN nem ágyazható LEFT JOIN vagy RIGHT JOIN műveletbe. Az illesztési műveletek egymásba ágyazhatóságával kapcsolatban érdemes elolvasni a beágyazással kapcsolatos magyarázatot az INNER JOIN témánál.
- Az ON záradékok egymáshoz csatolhatók. Ezzel kapcsolatban érdemes elolvasni a záradékok egymáshoz csatolásával kapcsolatos magyarázatot az INNER JOIN témánál.
Ha Feljegyzés vagy OLE objektum típusú adatot tartalmazó mezőket próbál egymáshoz illeszteni, hibát fog jelezni a rendszer.