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.