Operacija INNER JOIN

Velja za
Access za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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. polje2

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 številska, morajo biti istega podatkovnega tipa in morajo vsebovati isto vrsto podatkov, ni jim pa treba imeti istega imena.
compopr Kateri koli operator relacijske primerjave: "=," "<," ">," "<=," ">=," 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), lahko z operacijo LEFT JOIN ali RIGHT JOIN ustvarite zunanje združevanje.

Č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, vključite 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:

Polja SELECT
FROM table1 INNER JOIN table2
ON table1. field1compoprtable2. polje1 IN
ON table1. field2compoprtable2. polje2) ALI
ON table1. field3compoprtable2. polje3)];

Izjave JOIN ugnezdite s takšno sintakso:

Polja SELECT
FROM table1 INNER JOIN
(table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON table3. field3compoprtablex. fieldx)]
ON table2. field2compoprtable3. polje3)
ON table1. field1compoprtable2. polje 2;

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.