Združuje zapise iz dveh tabel, vedno ko so v skupnem polju ujemajoče se vrednosti.
Sintaksa
FROM table1 INNER JOIN table2 ON table1.field1compopr table2.field2
Operacija INNER JOIN je sestavljena iz teh delov:
Del |
Opis |
tabela1, tabela2 |
Imena tabel z zapisi, ki so združeni. |
polje1, polje2 |
Imena polj, ki so združena. Če polja niso številčna, morajo biti istega podatkovni tip in imeti isto vrsto podatkov, ni jim pa treba imeti istega imena. |
compopr |
Kateri koli relacijski primerjalni operator: "=," "<," ">," "<=," ">=," ali "<>." |
Opombe
Operacijo INNER JOIN lahko uporabite v poljubnem stavku FROM. To je najpogostejša vrsta združevanja. Notranja združevanja združujejo zapise iz dveh tabel, vedno ko so v skupnem polju obeh tabel ujemajoče se vrednosti.
INNER JOIN lahko uporabite s tabelami oddelkov in zaposlenih, da izberete vse zaposlene v posameznem oddelku. Če pa želite izbrati vse oddelke (tudi če nekateri nimajo dodeljenih zaposlenih) ali vse zaposlene (tudi če nekateri niso dodeljeni oddelku), z operacijo LEFT JOIN ali RIGHT JOIN ustvarite zunanji stik.
Če poskušate združiti polja z zapiski ali predmeti OLE, pride do napake.
Združite lahko poljubni številski polji iste vrste. Združujete lahko na primer polji »Samoštevilo« in »Dolgo«, ker sta obe iste vrste. Vendar pa ne morete združiti vrst »Enojno« in »Dvojno«.
V spodnjem primeru je prikazano, kako lahko tabeli Kategorije in Izdelki združite v polju »CategoryID«.
SELECT CategoryName, ProductName
FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID;
V prejšnjem primeru je »CategoryID« združeno polje, vendar ni vključeno v rezultate poizvedbe, ker ni vključeno v izjavi SELECT. Če želite vključiti združeno polje, vnesite ime polja v izjavo SELECT – v tem primeru Categories.CategoryID.
V izjavi JOIN lahko povežete tudi več stavkov ON, in sicer s takšno sintakso:
SELECT fields
FROM table1 INNER JOIN table2 ON table1.field1compoprtable2.field1 AND ON table1.field2compoprtable2.field2) OR ON table1.field3compoprtable2.field3)];Izjave JOIN ugnezdite s takšno sintakso:
SELECT fields
FROM table1 INNER JOIN (table2 INNER JOIN [( ]table3 [INNER JOIN [( ]tablex [INNER JOIN ...)] ON table3.field3compoprtablex.fieldx)] ON table2.field2compoprtable3.field3) ON table1.field1compoprtable2.field2;Operacijo LEFT JOIN ali RIGHT JOIN lahko ugnezdite znotraj operacije INNER JOIN; operacije INNER JOIN pa ne morete ugnezditi znotraj operacije LEFT JOIN ali RIGHT JOIN.