Kombinerer poster fra to tabeller når det er samsvarende verdier i et felles felt.
Syntaks
FROM tabell1 INNER JOIN tabell2 ON tabell1. felt1compopr tabell2. felt2
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 | En hvilken som helst operator for relasjonssammenligning: "=," "," "<><," "=,"> 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 ønsker å velge alle avdelinger (selv om noen ikke har ansatte tilknyttet seg) eller alle ansatte (selv om noen ikke er tilknyttet en avdeling), kan du bruke en LEFT JOIN- eller RIGHT JOIN-operasjon for å 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, skriver du inn feltnavnet i uttrykket SELECT, 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
PÅ tabell1. felt1SAMMENFATTBAR2. felt1 OG
PÅ tabell1. felt2SAMMENFATTBAR2. felt2) ELLER
PÅ tabell1. felt3sammenfattbar2. felt3)];
Du kan også neste JOIN-uttrykk ved bruk av følgende syntaks:
SELECT , felt
FROM tabell1 INNER JOIN
(tabell2 ; INNER JOIN [( ]tabell3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
PÅ tabell3. field3CompoprtableX. fieldx)]
PÅ tabell2. felt2Compoprtable3. felt 3)
PÅ tabell1. felt1SAMMENFATTBAR2. felt2;
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.