Ühendab kahe tabeli kirjed, kui ühisel väljal olevad väärtused kattuvad.
Süntaks
FROM tabel1 INNER JOIN tabel2 ON tabel1. field1compopr table2. väli2
Toiming INNER JOIN koosneb järgmistest osadest.
| Osa | Kirjeldus |
|---|---|
| tabel1, tabel2 | Nende tabelite nimed, mille kirjed liidetakse. |
| väli1, väli2 | Liidetavate väljade nimed. Kui need pole arvulised, peavad väljad olema sama andmetüübiga ja sisaldama sarnaseid andmeid, kuid neil ei pea olema sama nimi. |
| võrdlusmärk | Suvaline relatsiooniline võrdlusmärk: "=", "<," ">," "<=",> või "<>." |
Märkused
Klauslit INNER JOIN saab kasutada mis tahes FROM-klauslis. See on kõige levinumat tüüpi ühendamine. INNER JOINED klausel ühendab kahe tabeli kirjed, kui mõlema tabeli ühisel väljal olevad väärtused kattuvad.
Näiteks saab INNER JOIN-i kasutada tabelitega Osakonnad ja Töötajad, et valida kõik töötajad teatud osakonnas. Kui soovite aga valida kõik osakonnad (isegi kui mõnele pole töötajaid määratud) või kõigi töötajate (isegi kui mõni pole osakonda määratud), saate välisühendamise loomiseks kasutada toimingut LEFT JOIN või RIGHT JOIN.
Kui proovite ühendada välju, milles on andmed tüübiga Memo või OLE-objektid, ilmneb tõrge.
Saate ühendada mis tahes kaks sama tüüpi arvulise väärtusega välja. Näiteks saate ühendada automaatnumbrid ja pikad täisarvud, sest need on sama tüüpi. Kuid ühendada ei saa lihtandmeid ja topelttäpsusega andmeid.
Järgmises näites selgitatakse, kuidas saate ühendada tabelite Categories ja Products väljadel CategoryID olevad andmed:
SELECT CategoryName, ProductName
FROM Categories INNER JOIN Products
ON Categories.CategoryID = Products.CategoryID;
Selles näites ühendatakse välja CategoryID andmed, aga seda ei kaasata päringu väljundisse, sest seda pole valitud SELECT-lauses. Ühendatud välja kaasamiseks kaasake väljanimi SELECT-lausesse – praegusel juhul Categories.CategoryID.
JOIN-lauses saab järgmise süntaksi abil linkida ka mitu ON-klauslit:
SELECT-väljad
FROM tabel1 INNER JOIN tabel2
ON tabel1. field1compoprtable2. väli1 JA
ON tabel1. field2compoprtable2. väli2) VÕI
ON tabel1. field3compoprtable2. väli3)];
Järgmise süntaksi abil saate JOIN-lauseid ka pesastada:
SELECT-väljad
FROM tabel1 INNER JOIN
(tabel2 INNER JOIN [( ]tabel3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON tabel3. field3compoprtablex. fieldx)]
ON tabel2. field2compoprtable3. väli3)
ON tabel1. field1compoprtable2. väli2;
Klauslid LEFT JOIN ja RIGHT JOIN saab pesastada klauslisse INNER JOIN, aga INNER JOIN-i ei saa pesastada klauslitesse LEFT JOIN ega RIGHT JOIN.