INNER JOIN, operasjon

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

Kombinerer poster fra to tabeller når det er samsvarende verdier i et felles felt.

Syntaks

FROM table1 INNER JOIN table2 ON table1. field1compopr table2. felt 2

Operasjonen INNER JOIN har følgende deler:

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

      

Kommentarer

Du kan bruke en INNER JOIN-operasjon i enhver FROM-setning. Dette er den vanligste sammenføyningstypen. Indre sammenføyninger kombinerer poster fra to tabeller når det er samsvarende verdier i et felles felt.

Du kan bruke INNER JOIN med tabellene Avdeling og Ansatte for å velge alle ansatte i hver avdeling. Hvis du derimot vil velge alle avdelinger (selv om noen ikke har noen ansatte tilordnet til dem) eller alle ansatte (selv om noen ikke er tilordnet til en avdeling), kan du bruke en LEFT JOIN- eller RIGHT JOIN-operasjon til å opprette en ytre sammenføyning.

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

Du kan sammenføye to numeriske felt av samme type. Du kan for eksempel sammenføye Autonummerering- og Lang-felter, da de er av samme type. Du kan imidlertid ikke sammenføye enkle og doble felttyper.

Følgende eksempel viser hvordan du kan sammenføye tabellene Kategorier og Produkter på CategoryID-feltet.

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

I forrige eksempel er CategoryID det sammenføyde feltet, men det er ikke inkludert i spørringsresultatet fordi det ikke er inkludert i uttrykket SELECT. Hvis du vil inkludere det sammenføyde feltet, tar du med feltnavnet i SELECT-setningen – i dette tilfellet. Categories.CategoryID

Du kan også sammenføye flere ON-setninger i et JOIN-uttrykk, ved bruk av følgende syntaks:

SELECT-felt
FROM tabell1 INNER JOIN-tabell2
ON-tabell1. field1compoprtable2. felt1 OG
ON-tabell1. field2compoprtable2. felt 2) ELLER
ON-tabell1. field3compoprtable2. felt 3)];

Du kan også neste JOIN-uttrykk ved bruk av følgende syntaks:

SELECT-felt
FROM table1 INNER JOIN
(tabell2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON tabell3. field3compoprtablex. fieldx)]
ON-tabell2. field2compoprtable3. felt 3)
ON-tabell1. field1compoprtable2. felt 2;

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.