Handlingen INNER JOIN

Kombinerer poster fra to tabeller, hver gang der er ens værdier i et fælles felt.

Syntaks

FROM tabel1 INNER JOIN tabel2 ON tabel1.felt1sammenligningsoperator tabel2.felt2

Handlingen INNER JOIN består af følgende dele:

Del

Beskrivelse

tabel1, tabel2

Navnene på de tabeller, som posterne skal kombineres fra.

felt1, felt2

Navnene på de felter, der skal joinforbindes. Hvis de ikke er numeriske, skal de have samme datatype og indeholde den samme slags data, men de behøver ikke have samme navn.

sammenligningsoperator

En relationel sammenligningsoperator: "=," "<," ">," "<=," ">=" eller "<>."


Bemærkninger

Du kan bruge en INNER JOIN-handling i alle FROM-delsætninger. Det er den mest almindelige type joinforbindelse. Den kombinerer posterne fra to tabeller, hver gang der findes ens værdier i et felt, som er fælles for begge tabeller.

Du kan bruge INNER JOIN med tabellerne Afdelinger og Medarbejdere til at vælge alle medarbejdere i alle afdelinger. I stedet for at vælge alle afdelinger (selvom nogle muligvis ikke er tildelt medarbejdere) eller alle medarbejdere (selvom nogle muligvis ikke er tilknyttet en afdeling) kan du bruge handlingen LEFT JOIN eller RIGHT JOIN til at oprette en ydre joinforbindelse.

Hvis du prøver at joinforbinde felter, der indeholder data af typen datatypen Notat eller OLE Object-datatype, opstår der en fejl.

Du kan joinforbinde to vilkårlige numeriske felter af lignende type. Du kan f.eks. oprette en joinforbindelse mellem felterne datatypen Autonummerering og Datatypen Lang, da typerne ligner hinanden. Men du kan ikke joinforbinde felter af typen Datatypen Enkel og Datatypen Dobbelt.

I følgende eksempel kan du se, hvordan du kan oprette en joinforbindelse for tabellerne Kategorier og Produkter på feltet KategoriId:

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

I det foregående eksempel er KategoriId det joinforbundne felt, men det medtages ikke i forespørgslens output, da det ikke er angivet i SELECT-sætningen. Hvis du vil medtage det joinforbundne felt, skal du angive feltnavnet i SELECT-sætningen – i dette tilfælde Categories.CategoryID.

Du kan også joinforbinde flere ON-delsætninger i en JOIN-sætning ved hjælp af følgende syntaks:

SELECT felter
FROM tabel1 INNER JOIN tabel2
ON tabel1.felt1sammenligningsoperatortabel2.felt1 AND
ON tabel1.felt2sammenligningsoperatortabel2.felt2) OR
ON tabel1.felt3sammenligningsoperatortabel2.felt3)];

Du kan også indlejre JOIN-sætninger ved hjælp af følgende syntaks:

SELECT felter
FROM tabel1 INNER JOIN
(tabel2 INNER JOIN [( ]tabel3
[INNER JOIN [( ]tabelx [INNER JOIN ...)]
ON tabel3.felt3sammenligningsoperatortabelx.feltx)]
ON tabel2.felt2sammenligningsoperatortabel3.felt3)
ON tabel1.felt1sammenligningsoperatortabel2.felt2;

En LEFT JOIN eller en RIGHT JOIN kan være indlejret i en INNER JOIN, men en INNER JOIN kan ikke være indlejret i en LEFT JOIN eller en RIGHT JOIN.



Del Facebook Facebook Twitter Twitter Mail Mail

Var disse oplysninger nyttige?

Fantastisk! Har du mere feedback?

Hvordan kan vi forbedre det?

Tak for din feedback!

×