Operacije LEFT JOIN, RIGHT JOIN

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

Kombinira zapise iz izvorišne tablice kad se koristi u bilo kojem uvjetu FROM.

Sintaksa

FROM TABLE1 [ LEFT | RIGHT ] JOIN table2
ON tablica1.polje1compopr tablica2.polje2

Operacije LEFT JOIN i RIGHT JOIN imaju sljedeće dijelove:

Dio Opis
tablica1, tablica2 Nazivi tablica iz kojih se spajaju zapisi.
polje1, polje2 Nazivi spojenih polja. 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

Upotrijebite operaciju LEFT JOIN da biste stvorili lijevi vanjski spoj. Lijeva vanjska pridruživanja obuhvaćaju sve zapise iz prve (lijeve) od dviju tablica, čak i ako nema podudarnih vrijednost za zapise u drugoj (desnoj) tablici.

Pomoću operacije RIGHT JOIN stvorite desni vanjski spoj. Desna vanjska pridruživanja obuhvaćaju sve zapise iz druge (desne) od dviju tablica, čak i ako nema podudarnih vrijednosti za zapise u prvoj (lijevoj) tablici.

Npr. možete upotrijebiti LEFT JOIN s tablicom Odjeli (lijeva) i Zaposlenici (desna) da biste odabrali sve odjele, uključujući i one kojima nije dodijeljen nijedan zaposlenik. Da biste odabrali sve zaposlenike, uključujući i one koji nisu dodijeljeni nijednom odjelu, morate upotrijebiti RIGHT JOIN.

Sljedeći primjer pokazuje kako biste mogli pridružiti tablice Kategorije i Proizvodi putem polja IDKategorije. Upit stvara popis svih kategorija, uključujući one koje ne sadrže nijedan proizvod:

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

U ovom primjeru IDKategorije jest pridruženo polje, ali ono nije uvršteno u rezultate upita jer nije uvršteno u izjavu SELECT. Da biste uvrstili pridruženo polje, unesite naziv polja u izjavu SELECT – u ovom slučaju: Categories.CategoryID.

Da biste stvorili upit koji obuhvaća samo zapise u kojima su podaci u pridruženim poljima isti, upotrijebite operaciju INNER JOIN.

  • Moguće je operaciju LEFT JOIN ili RIGHT JOIN ugnijezditi unutar operacije INNER JOIN, ali INNER JOIN se ne može ugnijezditi u LEFT JOIN ni RIGHT JOIN. Pogledajte raspravu o ugnježđivanju u temi o operaciji INNER JOIN da biste saznali kako ugnježđivati pridruživanja unutar drugih pridruživanja.
  • Možete povezati veći broj uvjeta ON. Pogledajte raspravu o povezivanju uvjeta u temi o operaciji INNER JOIN da biste saznali kako se to radi.

Ako pokušate pridružiti polja koja sadrže podatke objekta Memo ili OLE objekta, pojavit će se pogreška.