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 tábla2
ON tábla1.mező1összehasonlító_operátortábla2.mező2A 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 kell lenniük, és ugyanolyan típusú adatokat kell tartalmazniuk, 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
A LEFT JOIN művelettel bal oldali külső illesztés hozható létre. 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.
A RIGHT JOIN művelettel jobb oldali külső illesztés hozható létre. 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ő hozzáadá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.