Handlingerne LEFT JOIN og RIGHT JOIN

Kombinerer kildetabelposter, når de benyttes i FROM-delsætninger.

Syntaks

FROM tabel1 [ LEFT | RIGHT ] JOIN tabel2
ON tabel1.felt1sammenligningsoperator tabel2.felt2

Handlingerne LEFT JOIN og RIGHT 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. Felterne skal have samme datatype og indeholde den samme slags data, men de behøver ikke have samme navn.

sammenligningsoperator

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


Bemærkninger

Brug en LEFT JOIN-handling til at oprette en venstre ydre joinforbindelse. Venstre ydre joinforbindelser medtager alle poster fra den første (venstre) af to tabeller, selvom der ikke er tilsvarende værdier for poster i den anden (højre) tabel.

Brug en RIGHT JOIN-handling til at oprette en højre ydre joinforbindelse. Højre ydre joinforbindelser medtager alle poster fra den anden (højre) af to tabeller, selvom der ikke er tilsvarende værdier for poster i den første (venstre) tabel.

Du kan f.eks. bruge LEFT JOIN med Afdelinger (venstre) og Medarbejdere (højre) til at vælge alle afdelinger, inklusive dem som ikke er tildelt nogen medarbejdere. Hvis du vil vælge alle medarbejdere, inklusive dem som ikke er tilknyttet en afdeling, skal du bruge RIGHT JOIN.

I følgende eksempel kan du se, hvordan du kan oprette en joinforbindelse mellem tabellerne Kategorier og Produkter på feltet KategoriId. Der oprettes en liste over alle kategorier, inklusive dem der ikke indeholder nogen produkter:

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

I dette eksempel er KategoriId det joinforbundne felt, men det medtages ikke i forespørgslens resultat, 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.

Bemærk: 

Hvis du vil oprette en forespørgsel, der kun medtager poster, som har ens data i de joinforbundne felter, skal du bruge en INNER JOIN-handling.

  • 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. Du finder oplysninger om indlejring af joinforbindelser i andre joinforbindelser under emnet INNER JOIN.

  • Du kan sammenkæde flere ON-delsætninger. Du finder oplysninger herom under emnet INNER JOIN.

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



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!

×