Toiming INNER JOIN

See toiming ühendab kahest tabelist pärinevad kirjed, kui ühisel väljal on ühesugused kirjed.

Süntaks

FROM tabel1 INNER JOIN tabel2 ON tabel1.väli1võrdlusmärk tabel2.väli2

Toiming INNER JOIN koosneb järgmistest osadest.

Osa

Kirjeldus

tabel1, tabel2

Nende tabelite nimed, mille kirjeid kombineeritakse.

väli1, väli2

Liidetavate väljade nimed. Kui need pole arvuväljad, peab väljadel olema sama andmetüüp ja need peavad sisaldama sarnaseid andmeid, kuid neil ei pea olema sama nimi.

võrdlusmärk

Suvaline relatsiooniline võrdlusmärk: "=", "<", ">", "<=", ">=" või "<>".


Kommentaarid

Toimingut INNER JOIN saate kasutada kõigis FROM-klauslites. See on kõige tavalisem ühendustüüp. Sisemise ühendamise abil ühendatakse kahest tabelist pärinevad kirjed alati, kui mõlema tabeli ühisel väljal on ühesugused väärtused.

Toimingut INNER JOIN saate kasutada iga osakonna kõigi töötajate valimiseks tabelites Osakonnad ja Töötajad. Seevastu kõigi osakondade (isegi kui mõnes neist töötajaid ei ole) või kõigi töötajate (isegi kui mõned neist ei kuulu ühessegi osakonda) valimiseks saate kasutada toiminguid LEFT JOIN või RIGHT JOIN ning luua väline ühendamine.

Kui proovite liita välju, mis sisaldavad andmetüüp Memo või andmetüüp OLE-objekt andmeid, ilmneb tõrge.

Ühendada saab kõiki sarnast tüüpi arvuvälju. Näiteks saate ühendada väljad andmetüüp Automaatnumber ja pikk andmetüüp, sest need on sarnase andmetüübiga väljad. Ühendada ei saa aga lihtandmetüüp ja topeltandmetüüp välju.

Järgnevalt näidatakse, kuidas saab väljal Kategooria ID ühendada tabelid Kategooriad ja Tooted.

SELECT kategooria_nimi, toote_nimi FROM kategooriad INNER JOIN tooted
ON kategooriad.kategooriaID = tooted.kategooriaID;

Eelnevas näites on KategooriaID ühendatud väli, mis ei ole aga kaasatud päringuväljundisse, kuna antud väli ei sisaldu lauses SELECT. Ühendatud välja kaasamiseks kaasake välja nimi lausesse SELECT, vastav kirje näeb välja nii: kategooriad.kategooriaID.

Mitut ON-klauslit saate JOIN-lauses linkida ka järgmise süntaksi abil.

SELECT väljad
FROM tabel1 INNER JOIN tabel2
ON tabel1.väli1võrdlusmärktabel2.väli1 AND
ON tabel1.väli2võrdlusmärktabel2.väli2) OR
ON tabel1.väli3võrdlusmärktabel2.väli3)];

JOIN-lauseid saate pesastada ka järgmise süntaksi abil.

SELECT väljad
FROM tabel1 INNER JOIN
(tabel2 INNER JOIN [( ]tabel3
[INNER JOIN [( ]tabelx [INNER JOIN ...)]
ON tabel3.väli3võrdlusmärktabelx.välix)]
ON tabel2.väli2võrdlusmärktabel3.väli3)
ON tabel1.väli1võrdlusmärktabel2.väli2;

Lauseid LEFT JOIN või RIGHT JOIN saab pesastada ka lauses INNER JOIN, kuid lauset INNER JOIN lausetes LEFT JOIN või RIGHT JOIN pesastada ei saa.



Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×