Log på med Microsoft
Log på, eller opret en konto.
Hej
Markér en anden konto.
Du har flere konti
Vælg den konto, du vil logge på med.
Redigere SQL-sætninger for at forbedre forespørgselsresultater

Hvis dine forespørgsler ikke arbejder hårdt nok, kan det hjælpe at fokusere på dine resultater ved at tilføje nogle grundlæggende SQL sætninger. Lad os se på nogle få typer SQL-sætninger og de delsætninger eller dele, som du kan redigere for at få de ønskede resultater.

Bemærk!:  Denne artikel gælder ikke for Access-webapps – den type database, du kan designe med Access og udgive online.

I denne artikel

Opret en Select-sætning

En SQL Select-sætning har to til tre delsætninger. SELECT-delsætningen fortæller databasen, hvor der skal søges efter dataene, og beder den om at returnere et bestemt resultat.

Bemærk!:  SELECT-sætninger slutter altid med et semikolon (;) enten i slutningen af den sidste delsætning eller på en linje alene i slutningen af SQL-sætningen.

Følgende select-sætning beder Access om at hente oplysninger fra kolonnerne Mailadresse og Firma fra tabellen Kontakter, specifikt hvor den finder "Seattle" i kolonnen By.

SQL-objektfane, der viser en SELECT-sætning

Ovenstående forespørgsel har tre delsætninger SELECT, FROM og WHERE.

1. SELECT-delsætningen viser de kolonner, der indeholder de data, du vil bruge, og har en operator (SELECT) efterfulgt af to identifikatorer (Mailadresse og Firma). Hvis en identifikator har mellemrum eller specialtegn (f.eks. "Mailadresse"), skal du sætte id'et i kantede parenteser.

2. FROM-delsætningen identificerer kildetabellen. I dette eksempel har den en operator (FROM) efterfulgt af en identifikator (Kontakter).

3. WHERE-delsætningen er en valgfri delsætning. Eksemplet har en operator (WHERE) efterfulgt af et udtryk (City="Seattle").

Du kan finde flere oplysninger om udvælgelsesforespørgsler under Oprette en simpel udvælgelsesforespørgsel.

Her er en liste over almindelige SQL-delsætninger:

SQL-delsætning

Hvad gør den

Er det påkrævet ?

SELECT

Viser de felter, der indeholder data, som kan have interesse.

Ja

FROM

Viser de tabeller, der indeholder de felter, som er angivet i SELECT-delsætningen.

Ja

WHERE

Angiver de feltkriterier, der skal opfyldes af hver post for at blive inkluderet i resultaterne.

Nej

ORDER BY

Angiver, hvordan resultaterne sorteres.

Nej

GROUP BY

I en SQL-sætning, der indeholder aggregeringsfunktioner, vises felter, som ikke er opsummeret i SELECT-delsætningen.

Kun hvis der findes sådanne felter

HAVING

I en SQL-sætning, der indeholder aggregeringsfunktioner, angives betingelser, der gælder for felter, som er opsummeret i SELECT-sætningen.

Nej

Hver SQL-delsætning består af udtryk. Her er en liste over nogle almindelige SQL-termer.

SQL-term

Definition

Eksempel

id

Et navn, du bruger til at identificere et databaseobjekt, f.eks. kolonnenavnet.

[Mailadresse] og firma

operator

Et nøgleord, der repræsenterer en handling eller ændrer en handling.

AS

konstant

En værdi, der ikke ændrer sig, f.eks. et tal eller NULL.

42

udtryk

En kombination af id'er, operatorer, konstanter og funktioner, der evalueres til en enkelt værdi.

>= Products.[Unit Price]

Toppen af siden

Tilpasning af SELECT-delsætningen

Tilpas

Eksempel

Sådan får du kun vist de entydige værdier.

Brug nøgleordet DISTINCT i select-delsætningen.

Hvis dine kunder f.eks. er fra flere forskellige afdelingskontorer, og nogle har det samme telefonnummer, og du kun vil have vist et telefonnummer én gang, vil din SELECT-delsætning være sådan:

SELECT DISTINCT [txtCustomerPhone] 

Sådan ændrer du den måde, en identifikator vises på i dataarkvisning for at forbedre læsbarheden.

Brug AS-operatoren (Et nøgleord, der repræsenterer en handling eller ændrer en handling) med et feltalias i din SELECT-delsætning. Et feltalias er et navn, du tildeler et felt for at gøre det nemmere at læse resultaterne.

SELECT [txtCustPhone] AS [Customer Phone]

Tilpasning af FROM-delsætningen

Tilpas

Eksempel

Du kan bruge et tabelalias eller et andet navn, som du tildeler en tabel i en select-sætning. Et tabelalias er nyttigt, hvis navnet på tabelnavnet er langt, især hvis du har flere felter, der har samme navn fra forskellige tabeller.

Hvis du vil vælge data fra to felter, begge kaldet ID, hvoraf det ene kommer fra tabellen tblCustomer og det andet fra tabellen tblOrder:

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

Brug AS-operatoren til at definere tabelaliasser i FROM-delsætningen:

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

Du kan derefter bruge disse tabelaliasser i select-delsætningen på følgende måde:

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

Brug joinforbindelser til at kombinere par af poster fra to datakilder til et enkelt resultat eller til at angive, om poster fra en af tabellerne skal medtages, hvis der ikke er nogen tilsvarende post i den relaterede tabel.

Sammenkæd tabellerne, så forespørgslen kombinerer elementerne fra tabellerne og udelader elementer, når der ikke er nogen tilsvarende post i den anden tabel

Sådan kan FROM-delsætningen se ud:

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

Om brug af joinforbindelser

Der findes to typer joinforbindelser, indre og ydre joinforbindelser. Indre joinforbindelser er mere almindelige i forespørgsler. Når du kører en forespørgsel med en indre joinforbindelse, viser resultatet kun de elementer, hvor der findes en fælles værdi i begge af de sammenkædede tabeller.

Ydre joinforbindelser angiver, om der skal medtages data, hvor der ikke findes nogen fælles værdi. Ydre joinforbindelser er retningsbestemt, hvilket betyder, at du kan angive, om du vil medtage alle posterne fra den første tabel, der er angivet i joinforbindelsen (kaldet en venstre joinforbindelse), eller om du vil medtage alle posterne fra den anden tabel i joinforbindelsen (kaldet en højre joinforbindelse). En ydre joinforbindelse har følgende SQL-syntaks:

FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 = table2.field2

Se flere oplysninger om brug af joinforbindelser i en forespørgsel i Jointabeller og forespørgsler.

Toppen af siden

Tilpasning af WHERE-delsætningen

WHERE-delsætningen indeholder kriterier, der hjælper med at begrænse antallet af elementer, der returneres i en forespørgsel. Se eksempler på forespørgselskriterier , og hvordan de fungerer.

Et eksempel på, hvordan du kan tilpasse den grundlæggende WHERE-delsætning, er at begrænse resultaterne af en forespørgsel. Antag, at du vil finde telefonnummeret på en kunde og kun kan huske hans efternavn som Bagel. I dette eksempel gemmes efternavne i et Efternavn-felt, så SQL-syntaksen ville være:

WHERE [LastName]='Bagel'

Brug WHERE-delsætningen også til at kombinere datakilder for kolonner, der har matchende data, men forskellige datatyper. Dette er praktisk, da du ikke kan oprette en joinforbindelse mellem felter, der har forskellige datatyper. Brug ét felt som et kriterium for det andet felt med nøgleordet LIKE . Hvis du f.eks. vil bruge data fra tabellen Aktiver og tabellen Medarbejdere, er det kun, når aktivtypen i feltet Aktivtype i tabellen Aktiver har tallet 3 i feltet Antal i tabellen Medarbejdere, så ser din WHERE-delsætning sådan ud:

WHERE field1 LIKE field2

Vigtigt!:  Du kan ikke angive kriterier for et felt, der bruges sammen med en aggregeringsfunktion i en WHERE-delsætning. I stedet skal du bruge en HAVING-delsætning til at angive kriterier for aggregerede felter.

Toppen af siden

Tilpasning med UNION-operatoren

Brug union-operatoren, når du vil have vist en kombineret visning af resultater fra flere lignende udvælgelsesforespørgsler. Hvis din database f.eks. har tabellen Produkter og tabellen Tjenester, og de begge har tre felter: eksklusive tilbud eller produkter eller tjenester, pris, garanti eller garanti. Selvom tabellen Produkter gemmer garantioplysninger, og tabellen Tjenester gemmer garantioplysninger, er de grundlæggende oplysninger de samme. Du kan bruge en foreningsforespørgsel til at kombinere de tre felter fra de to tabeller på denne måde:

SELECT name, price, warranty, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee, exclusive_offer
FROM Services;

Når du kører forespørgslen, kombineres data fra hvert sæt tilsvarende felter til ét outputfelt. Hvis du vil medtage dublerede rækker i resultaterne, skal du bruge operatoren ALL.

Bemærk!:  Select-sætningen skal have det samme antal outputfelter i samme rækkefølge og med samme eller kompatible datatyper. I forbindelse med en foreningsforespørgsel er datatyperne Tal og Tekst kompatible.

Du kan finde flere oplysninger om foreningsforespørgsler under Brug af en foreningsforespørgsel til at få vist et samlet resultat fra flere forespørgsler.

Toppen af siden

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.

Communities hjælper dig med at stille og besvare spørgsmål, give feedback og høre fra eksperter med omfattende viden.

Var disse oplysninger nyttige?

Hvor tilfreds er du med kvaliteten af sproget?
Hvad påvirkede din oplevelse?
Når du trykker på Send, bliver din feedback brugt til at forbedre Microsoft-produkter og -tjenester. Din it-administrator kan indsamle disse data. Erklæring om beskyttelse af personlige oplysninger.

Tak for din feedback!

×