Operacija INNER JOIN

Primjenjuje se na
Access za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Kombinira zapise iz dvije tablice kad god se u zajedničkom polju nalaze podudarne vrijednosti.

Sintaksa

FROM tablica1 INNER JOIN tablica2 ON tablica1. Polje1COMPOPR tablica2. Polje2

Operacija INNER JOIN sastoji se od sljedećih dijelova:

Dio Opis
tablica1, tablica2 Nazivi tablica iz kojih se spajaju zapisi.
polje1, polje2 Nazivi spojenih polja. Ako nisu numerička, polja moraju biti iste vrste podataka i sadržavati istovrsne podatke, ali ne moraju imati isti naziv.
operatorusporedbe Bilo koji relacijski operator uspoređivanja: "=," "<," "><=," ">=," ili "<>."

      

Napomene

Operaciju INNER JOIN možete koristiti u bilo kojem uvjetu FROM. To je najčešća vrsta spoja. Unutarnji spojevi kombiniraju zapise iz dvije tablice kad god se u polju zajedničkom objema tablicama nalaze podudarne vrijednosti.

Da biste odabrali sve zaposlenike u svakom odjelu, upotrijebite INNER JOIN s tablicama Odjeli i Zaposlenici. Da biste odabrali sve odjele (čak i u nekima nema dodijeljenih zaposlenika) ili sve zaposlenike (čak i ako neki nisu dodijeljeni nijednom odjelu), možete upotrijebiti operaciju LEFT JOIN ili RIGHT JOIN da biste stvorili vanjski spoj.

Ako pokušate spojiti polja s podacima dopisa ili OLE objekta, doći će do pogreške.

Spojiti možete bilo koji par numeričkih polja sličnih vrsta. Spajati možete, na primjer, u poljima s vrstama podataka AutoNumber i Long jer su to slične vrste podataka. No ne možete spajati polja s vrstama podataka Single i Double.

U sljedećem primjeru objašnjava se spajanje tablica Kategorije i Proizvodi u polju IDKategorije.

SELECT CategoryName, ProductName
FROM Categories INNER JOIN Products
ON Categories.CategoryID = Products.CategoryID;

U prethodnom je primjeru IDKategorije spojeno polje, ali nije uvršteno u izlaz upita jer nije dodano u naredbu SELECT. Da biste dodali spojeno polje, u naredbu SELECT dodajte naziv polja – u ovom slučaju: Categories.CategoryID.

Pomoću sljedeće sintakse povezati možete i nekoliko uvjeta ON u naredbi JOIN:

SELECT fields
FROM TABLE1 INNER JOIN tablica2
ON tablica1. Polje1Složeno2. Polje1 I
ON tablica1. Polje2Složeno2. polje 2) ILI
ON tablica1. field3compoprtable2. polje3)];

Naredbe JOIN možete ugnijezditi pomoću sljedeće sintakse:

SELECT fields
FROM TABLE1 INNER JOIN
(tablica2 INNER JOIN [( ]tablica3
[INNER JOIN [( ]tablicax [INNER JOIN ...)]
NA TABLICI 3. field3compoprtablex. poljex)]
ON table2. Polje2Složeno3. polje 3)
ON tablica1. Polje1Složeno2. polje2;

Operacije LEFT JOIN ili RIGHT JOIN mogu biti ugniježđene unutar operacije INNER JOIN, ali INNER JOIN ne može biti ugniježđena unutar operacija LEFT JOIN ili RIGHT JOIN.