LEFT JOIN, RIGHT JOIN, operasjoner

Gjelder for
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Kombinerer kildetabellposter når de brukes i en hvilken som helst FROM-setning.

Syntaks

FROM table1 [ LEFT | RIGHT ] JOIN-tabell2
ON table1.field1compopr table2.field2

LEFT JOIN- og RIGHT JOIN-operasjonene har følgende deler:

Del Beskrivelse
tabell1, tabell2 Navnene på tabellene som postene kombineres fra.
felt1, felt2 Navnene på de koblede feltene. Feltene må være av samme datatype og inneholde samme type data, men de trenger ikke ha samme navn.
smlopr Enhver relasjonssammenligningsoperator: "=," "<," ">," "<=," ">=" eller "<>."

      

Merknader

Bruk en LEFT JOIN-operasjon til å opprette en venstre ytre sammenføyning. Venstre ytre koblinger inkluderer alle postene fra den første (venstre) av to tabeller, selv om det ikke er noen samsvarende verdier for postene i den andre (høyre) tabellen.

Bruk en RIGHT JOIN-operasjon for å opprette en høyre ytre sammenføyning. Høyre ytre koblinger inkluderer alle postene fra den andre (høyre) av to tabeller, selv om det ikke er noen samsvarende verdier for postene i den første (venstre) tabellen.

Du kan for eksempel bruke LEFT JOIN med tabellene Avdelinger (venstre) og Ansatte (høyre) for å velge alle avdelinger, inkludert de som ikke har noen ansatte tilordnet. Hvis du vil velge alle ansatte, inkludert de som ikke er tilordnet til en avdeling, bruker du RIGHT JOIN.

Følgende eksempel viser hvordan du kan koble tabellene Kategorier og Produkter på CategoryID-feltet. Spørringen produserer en liste over alle kategorier, inkludert de som ikke inneholder noen produkter:

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

I dette eksemplet er CategoryID det koblede feltet, men det er ikke inkludert i spørringsresultatet fordi det ikke er inkludert i SELECT-uttrykket. Hvis du vil inkludere det sammenføyde feltet, skriver du inn feltnavnet i SELECT-setningen – i dette tilfellet. Categories.CategoryID

Hvis du vil opprette en spørring som inkluderer bare postene der dataene i de koblede feltene er de samme, kan du bruke en INNER JOIN-operasjon.

  • En LEFT JOIN eller en RIGHT JOIN kan nestes i en INNER JOIN, men en INNER JOIN kan ikke nestes i en LEFT JOIN eller en RIGHT JOIN. Se diskusjonen om nesting i INNER JOIN-emnet for å se hvordan du nester koblinger inni andre koblinger.
  • Du kan koble flere ON-setninger. Se diskusjonen om setningskobling i INNER JOIN-emnet for å se hvordan dette gjøres.

Hvis du prøver å sammenføye felt som inneholder Notat- eller OLE-objektdata, oppstår det en feil.