Access SQL: FROM-delsætningen

Dette er én artikel i en række om Access SQL. Denne artikel beskriver, hvordan du kan skrive en FROM-delsætning og bruger eksempler til at illustrere forskellige teknikker, du kan bruge i en FROM-delsætning.

I en SELECT-sætning angiver du datakilderne i FROM-delsætningen. FROM-delsætningen kan også indeholde en JOIN-handling. Du kan bruge en JOIN-handling til at matche og kombinere data fra to datakilder, f.eks. to tabeller eller en tabel og en forespørgsel.

Du kan få et overblik over Access SQL i artiklen Access SQL: grundlæggende begreber, ordliste og syntaks.

Denne artikel indeholder

Angiv datakilder

Brug erstatningsnavne for datakilder

Sammenkæd relaterede data

Angiv datakilder

I en SELECT-sætning angiver FROM-delsætningen de tabeller eller forespørgsler, der indeholder de data, som SELECT-delsætningen anvender.

Lad os antage, at du skal bruge telefonnummeret på en bestemt kunde. Forudsat at den tabel, der indeholder det felt, som lagrer disse data, hedder tblCustomer, vil FROM-delsætningen se ud som denne:

FROM tblCustomer

Du kan bruge kantede parenteser til at omslutte navnet. Hvis navnet ikke indeholder mellemrum eller specialtegn (som f.eks. tegnsætningstegn), er de kantede parenteser er valgfrie. Hvis navnet indeholder mellemrum eller specialtegn, skal du bruge de kantede parenteser.

Tip: Et navn, der indeholder mellemrum, er nemmere at læse og kan spare dig tid, når du udformer formularer og rapporter, men måske ender du med at taste mere, når du skriver SQL-sætninger. Det bør du overveje, når du navngiver objekter i din Access-database.

Brug erstatningsnavne for datakilder

Du kan bruge et andet navn til at referere til en tabel i en SELECT-sætning ved hjælp af et tabelalias i din FROM-delsætning. Et tabelalias er et navn, som du tildeler til en datakilde i en forespørgsel, når du bruger et udtryk som datakilde eller for at gøre det nemmere at skrive og læse SQL-sætningen. Dette er især nyttigt, hvis navnet på datakilden er langt eller svært at skrive, især når der er flere felter, der har samme navn, fra forskellige tabeller.

Hvis du f.eks. vil vælge data fra to felter, som begge hedder Id, hvor det ene kommer fra tabellen tblCustomer, og det andet kommer fra tabellen tblOrder, kan din SELECT-delsætning f.eks. se omtrent således ud:

SELECT [tblCustomer].[ID], [tblOrder].[ID]

Ved at bruge tabelaliasser i din FROM-delsætning kan du gøre det nemmere at skrive forespørgslen. Din FROM-delsætning med tabelaliasser kan f.eks. se sådan ud:

FROM [tblCustomer] AS [C], [tblOrder] AS [O]

Du kan derefter bruge disse tabelaliasser i din SELECT-delsætning på følgende måde:

SELECT [C].[ID], [O].[ID]

Bemærk: Når du bruger et tabelalias, kan du henvise til tabellen i din SQL-sætning ved hjælp af aliasset eller ved at bruge det fulde tabelnavn.

Sammenkæd relaterede data

Når du har brug for en metode til at kombinere par af poster fra to datakilder i enkelte poster i et forespørgselsresultat, kan du lave en joinforbindelse. En joinforbindelse er en SQL-handling, der angiver, hvordan to datakilder er relaterede, og om data fra den ene kilde skal medtages, hvis der ikke er nogen tilsvarende data fra den anden kilde.

Du kan kombinere oplysningerne fra to datakilder ved at lave en joinhandling på det felt, de har til fælles. Når værdierne i feltet stemmer overens, kombineres data fra posterne i resultaterne.

Foruden at kombinere data bruger du også en joinforbindelse til at angive, om du vil medtage poster fra den ene tabel, hvis der ikke er nogen tilsvarende post i den relaterede tabel.

Antag f.eks., at du vil bruge data fra to tabeller i en forespørgsel: tblCustomer og tblOrder. De to tabeller har begge et felt, Kunde-id, der identificerer en kunde. Hver post i tabellen tblCustomer kan have en eller flere tilsvarende poster i tabellen tblOrder, og de tilsvarende værdier kan bestemmes af værdierne i feltet Kunde-id.

Hvis du vil sammenføje tabellerne med en joinforbindelse, således at forespørgslen kombinerer poster fra tabellerne, bortset fra poster fra den ene tabel, hvis der ikke er nogen tilsvarende post i den anden tabel, vil din FROM-delsætning skulle se nogenlunde sådan ud (linjeskift tilføjet for læsbarhed):

FROM [tblCustomer] INNER JOIN [tblOrder]
ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]

I Access opstår joinforbindelser i FROM-delsætningen i en SELECT-sætning. Der findes to typer joinforbindelser: indre joinforbindelser og ydre joinforbindelser. I de følgende afsnit beskrives disse to typer joinforbindelser.

Indre joinforbindelser

Indre joinforbindelser er den mest almindelige type joinforbindelse. Når du kører en forespørgsel med en indre joinforbindelse, medtages kun de poster, hvor der findes en fælles værdi i begge af de sammenkædede tabeller, i forespørgselsresultaterne.

En indre joinforbindelse har følgende syntaks (linjeskift tilføjet for læsbarhed):

FROM table1 INNER JOIN table2
ON table1.field1 compopr table2.field2

Den følgende tabel beskriver de forskellige dele af en INDRE JOIN-handling.

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 "<>."

Ydre joinforbindelser

Ydre joinforbindelser ligner de indre joinforbindelser, fordi de fortæller en forespørgsel, hvordan oplysningerne fra to kilder skal kombineres. De er anderledes, fordi de også angiver, om data skal medtages, hvis der ikke findes nogen fælles værdier. Ydre joinforbindelser er retningsbestemte: Du kan angive, om du vil medtage alle posterne fra den ene datakilde, der er angivet i joinforbindelsen (kaldet en venstre joinforbindelse), eller om du vil medtage alle poster fra den anden datakilde i joinforbindelsen (kaldet en højre joinforbindelse).

En ydre joinforbindelse har følgende syntaks:

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

Den følgende tabel beskriver de forskellige dele af handlingerne VENSTRE JOIN og HØJRE JOIN.

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 at have samme navn.

sammenligningsoperator

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

Hvis du vil have mere at vide om joinforbindelser, skal du se artiklen Joinforbind tabeller og forespørgsler.

Toppen af siden

Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×