Innføring i SQL for Access

Viktig: Denne artikkelen er maskinoversatt, se ansvarsfraskrivelsen. Du finner den engelske versjonen av artikkelen her som referanse.

Når du vil hente data fra en database, ber du om dataene ved hjelp av Structured Query Language eller SQL. SQL er et språk på datamaskinen som likner engelsk databaseprogrammer forstår. Hvis du kjenner SQL er viktig for hver spørring i Microsoft Access bruker SQL. Forstå hvordan SQL fungerer, kan hjelpe deg med å opprette bedre spørringer, og du kan gjøre det enklere for deg å løse en spørring når den ikke returnerer ønskede resultater.

Merknad: Du kan ikke redigere SQL for en webspørring.

I denne artikkelen

Hva er SQL?

Grunnleggende SQL-setningsdeler: SELECT, FROM, og hvor

Sortere resultatene: REKKEFØLGE etter

Arbeide med summerte data: GROUP BY- og HAVING

Kombinere spørringsresultater: UNION

Mer om SELECT-setningsdelen

Mer om FROM-setningsdelen

Mer om WHERE-setningsdelen

Hva er SQL?

SQL er et språk som datamaskinen for å arbeide med sett med fakta og relasjonene mellom dem. Relasjonsdatabase programmer, for eksempel Access bruker SQL for å arbeide med data. Mange språk på datamaskinen, for eksempel er SQL en internasjonal standard som gjenkjennes i for eksempel ISO og ANSI-standardene brødtekst.

Du kan bruke SQL til å beskrive sett med data som kan hjelpe deg med å besvare spørsmål. Når du bruker SQL, må du bruke riktig syntaks. Syntaksen for er sett med regler som kombineres riktig elementene i et annet språk. SQL-syntaks er basert på engelsk syntaksen, og bruker mange av de samme elementene som Visual Basic for Applications (VBA)-syntaksen.

For eksempel en enkel SQL-setning som henter en liste over etternavn for kontakter som har fornavn er Mary kan se slik ut:

SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';

Merknad: SQL brukes ikke bare for å endre data, men også for å opprette og endre utformingen av databaseobjekter, for eksempel tabeller. Delen av SQL som brukes til å opprette og endre databaseobjekter kalles data datadefinisjonsspråk (DDL). Dette emnet dekker ikke DDL. Hvis du vil ha mer informasjon, kan du se artikkelen Opprett eller endre tabeller eller indekser ved hjelp av en datadefinisjonsspørring.

SELECT-setninger

For å beskrive et sett med data ved hjelp av SQL, kan du skrive en SELECT-setning. En SELECT-setning inneholder en utfyllende beskrivelse av et sett med data som du vil laste ned fra en database. Dette omfatter følgende:

  • Hvilke tabeller inneholder dataene.

  • Hvordan relaterte data fra ulike kilder.

  • Hvilke felt eller beregninger produsere dataene.

  • Vilkår som må samsvare med for å være inkludert.

  • Om og hvordan resultatene skal sorteres.

SQL-setninger

Som en setning har en SQL-setning setningsdeler. Hver-setningsdel utfører en funksjon for SQL-setningen. Noen setninger som kreves i en SELECT-setning. Tabellen nedenfor viser de mest vanlige SQL-setningene.

SQL-setningsdel

Formelresultat

Obligatorisk

SELECT

Viser en liste over feltene som inneholder data av interesse.

Ja

FROM

Viser en liste over tabellene som inneholder feltene som er oppført i SELECT-setningsdelen.

Ja

WHERE

Angir feltvilkår som må oppfylles av hver post som skal inkluderes i resultatene.

Nei

ORDER BY

Angir hvordan resultatene skal sorteres.

Nei

GROUP BY

I SQL-setninger som inneholder mengdefunksjoner, viser denne setningsdelen felt som det ikke er et sammendrag av i SELECT-setningsdelen.

Bare hvis det finnes slike felt

HAVING

I SQL-setninger som inneholder mengdefunksjoner, spesifiserer denne setningsdelen betingelsene som gjelder felt som det er sammendrag av i SELECT-setningen.

Nei

SQL-vilkår

Hver SQL-setningen består av vilkårene – sammenlignes med deler av tale. Tabellen nedenfor viser typer SQL termer.

SQL-uttrykk

Sammenlignes del av tale

Definisjon

Eksempel

identifikator

substantiv

Et navn som du bruker til å identifisere et databaseobjekt, for eksempel navnet på et felt.

Kunder. [Telefonnummer]

operator

verb eller adverb

Et nøkkelord som representerer en handling eller endrer en handling

AS

konstant

substantiv

En verdi som ikke endres, for eksempel et tall eller NULL

42

uttrykk

adjektiv

En kombinasjon av identifikatorer, operatorer, konstanter og funksjoner som evalueres til én enkelt verdi

> = produkter.[Enhetspris]

Til toppen av siden

Grunnleggende SQL-setningsdeler: SELECT, FROM, og hvor

En SQL-setning tar det generelle formatet:

SELECT field_1
FROM table_1
WHERE criterion_1
;

Kommentarer: 

  • Access ignorerer linjeskift i en SQL-setning. Imidlertid vurdere å bruke en linje for hver-setningsdel til å forbedre lesbarheten for SQL-setninger for deg selv og andre.

  • Hver SELECT-setning slutter med et semikolon (;). Semikolondelt kan vises på slutten av den siste setningsdelen eller på en linje alene på slutten av SQL-setningen.

Et eksempel i Access

Følgende illustrerer hvordan en SQL-setningen for en enkel utvalgsspørring kan se ut i Access:

SQL-objektkategorien viser en SELECT-setning

1. SELECT-setningsdelen

2. FROM-setningsdelen

3. WHERE-setningsdelen

Dette eksemplet SQL-setningen leser "Merk dataene som er lagret i felt kalt e-postadresse og firma fra tabellen med navnet kontakter, spesielt postene der verdien for feltet By er Seattle".

La oss se på eksemplet, én om gangen, til å se hvordan fungerer SQL-syntaks-setningsdelen.

SELECT-setningsdelen

SELECT [E-mail Address], Company

Dette er SELECT-setningsdelen. Det består av en operatør (Velg) etterfulgt av to identifikatorer ([e-postadresse] og firma).

Hvis en identifikator inneholder mellomrom eller spesialtegn (for eksempel "e-postadressen"), må det stå i hakeparenteser.

En SELECT-setningsdel har ikke å si hvilke tabeller som inneholder feltene, og den kan ikke angi betingelsene som må oppfylles av dataene som skal inkluderes.

SELECT-setningsdelen vises alltid foran FROM-setningsdelen i en SELECT-setning.

FROM-setningsdelen

FROM Contacts

Dette er FROM-setningsdelen. Det består av en operatør (fra) etterfulgt av en identifikator (kontakter).

En FROM-setningsdel inneholder ikke feltene som skal velges.

WHERE-setningsdelen

WHERE City="Seattle"

Dette er WHERE-setningsdelen. Det består av en operatør (der) etterfulgt av et uttrykk (by = "Seattle").

Merknad: I motsetning til dialogboksen Velg og fra setninger er WHERE-setningsdelen ikke et obligatorisk element i en SELECT-setning.

Du kan utføre mange av handlingene som SQL kan du gjøre ved å bruke SELECT, FROM og WHERE-setningsdeler. Mer informasjon om hvordan du bruker disse setningsdeler presenteres i disse delene på slutten av denne artikkelen:

Mer om SELECT-setningsdelen

Mer om FROM-setningsdelen

Mer om WHERE-setningsdelen

Sortere resultatene: REKKEFØLGE etter

Access kan du sortere spørringsresultatene i et dataark som Microsoft Office Excel. Du kan også angi i spørringen hvordan du vil sortere resultatene når spørringen kjøres, ved hjelp av en ORDER BY-setningsdelen. Hvis du bruker en ORDER BY-setningsdel, er det den siste setningsdelen i SQL-setningen.

ORDER BY-setningsdel inneholder en liste over feltene som du vil bruke til sortering, i samme rekkefølge som du vil bruke sorteringsoperasjoner.

Anta for eksempel at du vil bruke resultatene sortert etter firma-feltet i synkende rekkefølge, og, hvis det finnes poster med samme verdi for firmaet, sortert ved siden av verdiene i feltet e-postadressen i stigende rekkefølge. Din ORDER BY-setningsdel kan ligne på følgende:

ORDER BY Company DESC, [E-mail Address]

Merknad: Som standard sorteres verdiene i stigende rekkefølge (A-Å, minste til største). Bruk nøkkelordet DESC for å sortere verdiene i synkende rekkefølge i stedet.

Hvis du vil ha mer informasjon om setningsdelen ORDER BY, kan du se emnet ORDER BY-setningsdelen.

Til toppen av siden

Arbeide med summerte data: GROUP BY- og HAVING

Noen ganger vil du arbeide med summerte data, for eksempel totalt salg på en måned eller mest dyr elementene i en lagerbeholdning. Hvis du vil gjøre dette, bruker du en mengdefunksjon på et felt i SELECT-setningsdelen. Hvis du vil spørringen for å vise antallet for e-postadressene som er oppført for hvert firma, kan for eksempel SELECT-setningsdelen ligne på følgende:

SELECT COUNT([E-mail Address]), Company

Mengdefunksjoner som du kan bruke avhenger av hvilken type data som er i feltet eller uttrykket du vil bruke. Hvis du vil ha mer informasjon om de tilgjengelige mengdefunksjonene, kan du se artikkelen SQL-mengdefunksjoner.

Angi felt som ikke brukes i en mengdefunksjon: The GROUP BY-setningsdel

Når du bruker mengdefunksjoner, må vanligvis du også opprette en GROUP BY-setningsdelen. Setningsdelen GROUP BY viser alle felt du ikke bruker en mengdefunksjon. Hvis du bruker mengdefunksjoner på alle feltene i en spørring, har du ikke opprette GROUP BY-setningsdelen.

En GROUP BY-setningsdel etterfølger umiddelbart WHERE-setningsdelen eller FROM-setningsdelen hvis det er ingen WHERE-setningsdelen. Setningsdelen GROUP BY viser feltene slik de vises i SELECT-setningsdelen.

Fortsette eksemplet ovenfor, for eksempel hvis SELECT-setningsdelen gjelder en mengdefunksjon for [e-postadresse], men ikke til firmaet, i GROUP BY-setningsdelen vil ligne på følgende:

GROUP BY Company

Hvis du vil ha mer informasjon om setningsdelen GROUP BY, kan du se emnet GROUP BY-setningsdelen.

Begrense mengdeverdier ved hjelp av gruppen vilkår: på HAVING-setningsdel

Hvis du vil bruke vilkår til å begrense resultatene, men feltet du vil bruke vilkår til å brukes i en mengdefunksjon, kan du ikke bruke en WHERE-setning. I stedet kan bruke du en HAVING-setningsdel. En HAVING-setningsdel fungerer som en WHERE-setningsdel, men brukes for samlede data.

Hvis du for eksempel anta at du bruker funksjonen AVG (som beregner en gjennomsnittsverdi) med det første feltet i SELECT-setningsdelen:

SELECT COUNT([E-mail Address]), Company

Hvis du vil at spørringen til å begrense resultatene basert på verdien for antall funksjonen, kan du ikke bruke et vilkår for dette feltet i WHERE-setningsdelen. I stedet kan plassere du vilkårene i en HAVING-setningsdel. Hvis du bare vil at spørringen skal returnere rader Hvis det finnes mer enn én e-postadresser som er knyttet til firmaet, kan for eksempel HAVING-setningsdelen ligne på følgende:

HAVING COUNT([E-mail Address])>1

Merknad: En spørring kan ha en WHERE-setningsdel og en HAVING-setningsdel, vilkår for feltene som ikke brukes i en mengdefunksjon gå inn i WHERE-setningsdelen, og vilkår for feltene som brukes med mengdefunksjoner i HAVING-setningsdelen.

Hvis du vil ha mer informasjon om HAVING-setningsdelen, kan du se emnet HAVING-setningsdel.

Til toppen av siden

Kombinere spørringsresultater: UNION

Når du vil se gjennom alle dataene som returneres av flere lignende utvalgsspørringer sammen, som et kombinert sett, bruker du UNION-operatoren.

UNION-operatoren kan du kombinere to SELECT-setninger til én. SELECT-setninger som du kombinere må ha samme antall utdatafeltene, i samme rekkefølge, og med samme eller kompatible datatyper. Når du kjører spørringen, kombineres data fra hvert sett med tilsvarende felt i ett utdatafelt, slik at resultatet av spørringen har samme antall felt som hver av select-setningene.

Merknad: For unionsspørringer er datatypene Tall og Tekst kompatible.

Når du bruker UNION-operatoren, kan du også angi om spørringsresultatene skal ta med duplikatrader, hvis noen finnes, ved hjelp av alle nøkkelordet.

Den grunnleggende SQL-syntaksen for en unionsspørring som kombinerer to SELECT-setninger er som følger:

SELECT field_1
FROM table_1
UNION [ALL]
SELECT field_a
FROM table_a
;

Hvis du for eksempel anta at du har en tabell kalt produkter og en annen tabell kalt tjenester. Begge tabellene har felt som inneholder navnet på produktet eller tjenesten, prisen, garanti eller garantere tilgjengelighet, og om du tilbyr produktet eller tjenesten utelukkende. Selv om produkter-tabellen lagrer garantiinformasjon og tjenester tabell butikker garantere informasjon, er den samme (om et bestemt produkt eller tjeneste inneholder et løfte om kvalitet) grunnleggende informasjon. Du kan bruke en unionsspørring, for eksempel følgende, til å kombinere de fire feltene fra to tabeller:

SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services
;

Hvis du vil ha mer informasjon om hvordan du kan kombinere SELECT-setninger ved hjelp av UNION-operatoren, kan du se artikkelen kombinere resultatene av flere utvalgsspørringer ved å bruke en unionsspørring.

Til toppen av siden

Mer om SELECT-setningsdelen

SELECT-setningsdelen viser feltene som inneholder data i en SELECT-setning du vil bruke.

Bruk hakeparenteser til å omslutte identifikatorer

Du kan bruke hakeparenteser til å omslutte navnet på et felt i en SELECT-setningsdelen. Hvis navnet ikke inneholder mellomrom eller spesialtegn (for eksempel skilletegn), er hakeparentes valgfrie. Hvis navnet inneholder mellomrom eller spesialtegn, må du bruke hakeparentesene.

Tips!: Et navn som inneholder mellomrom blir enklere å lese og kan du spare tid når du utformer skjemaer og rapporter, men kan ende opp når du skriver inn mer når du skriver SQL-setninger. Når du navn til objekter i databasen, bør du vurdere denne fakultet.

Hvis SQL-setningen har to eller flere felt som har samme navn, må du legge til navnet på datakilden for hvert felt du feltnavnet i SELECT-setningsdelen. Du bruker samme navn for datakilden som du bruker i FROM-setningsdelen.

Merk alle felt

Når du vil inkludere alle feltene fra en datakilde, kan du enten viser alle feltene enkeltvis i SELECT-setningsdelen, eller du kan bruke jokertegn for stjerne (*). Når du bruker stjernen, bestemmer Access når spørringen kjøres hvilke felt datakilden inneholder, og inkluderer alle disse feltene i spørringen. Dette hjelper med å sørge for at spørringen blir oppdatert hvis nye feltene legges til datakilden.

Du kan bruke stjernen med én eller flere datakilder i en SQL-setning. Hvis du bruker stjernen, og det finnes flere datakilder, må du inkludere datakildenavnet sammen med stjerne, slik at Access kan bestemme hvilken datakilde for å inkludere alle feltene fra.

Tenk deg at du vil merke alle feltene fra Ordrer-tabellen, men bare e-postadressen fra Kontakter-tabellen. SELECT-setningsdelen, kan se dette:

SELECT Orders.*, Contacts.[E-mail Address]

Merknad: Holde oversikt over når du bruker stjernen. Hvis nye felt senere legges til i datakilden, og du ikke planlegge for dem, kan spørringsresultatene ikke slå som du vil bruke.

Velg distinkte verdier

Hvis du vet at oppgaven skal velge overflødige data, og du heller vil vise bare distinkte verdier, kan du bruke nøkkelordet DISTINCT i SELECT-setningsdelen. Anta for eksempel at kundene hver representere flere forskjellige interesser, noen som bruker samme telefonnummer. Hvis du ønsker å sikre at du bare se telefonnummeret til hver én gang, vises SELECT-setningsdelen på følgende måte:

SELECT DISTINCT [txtCustomerPhone]

Bruk erstatter navn for felt eller uttrykk: Jo som nøkkelord

Du kan endre etiketten som vises for alle feltene i dataarkvisning ved å bruke nøkkelordet AS og et feltalias i SELECT-setningsdelen. Et feltalias er et navn som tilordnes til et felt i en spørring til å gjøre det enklere å lese resultatene. Hvis du vil velge data fra et felt kalt txtCustPhone og feltet inneholder kunde telefonnumre, kan du for eksempel forbedre lesbarheten for resultatene ved hjelp av et feltalias i SELECT-setningen, på følgende måte:

SELECT [txtCustPhone] AS [Customer Phone]

Merknad: Når du bruker et uttrykk i en SELECT-setningsdelen, må du bruke et feltalias.

Velg ved hjelp av et uttrykk

Noen ganger vil du se på beregninger basert på dataene, eller henter bare en del av datatypen for et felt. Hvis du for eksempel anta at du vil returnere året som ble født kunder, basert på data i Fødselsdato-feltet i databasen. SELECT-setningsdelen kan ligne på følgende:

SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]

Dette uttrykket består av den DatePart , funksjon og to argumenter – "yyyy" (en konstant), og [BirthDate] (en identifikator).

Du kan bruke et annet gyldig uttrykk som et felt hvis uttrykket genererer en enkeltverdi når du gis et enkelt inndataverdi.

Til toppen av siden

Mer om FROM-setningsdelen

I en SELECT-setning angir FROM-setningsdelen tabellene eller spørringene som inneholder dataene som brukes av SELECT-setningsdelen.

Anta at du vil vite telefonnummeret til en bestemt kunde. Forutsatt at tabellen som inneholder feltet som lagrer disse dataene kalles Tblkunde, ville FROM-setningsdelen ligne på følgende:

FROM tblCustomer

Bruk hakeparenteser til å omslutte identifikatorer

Du kan bruke hakeparenteser til å omslutte navnet. Hvis navnet ikke inneholder mellomrom eller spesialtegn (for eksempel skilletegn), er hakeparentes valgfrie. Hvis navnet inneholder mellomrom eller spesialtegn, må du bruke hakeparentesene.

Tips!: Et navn som inneholder mellomrom blir enklere å lese og kan du spare tid når du utformer skjemaer og rapporter, men kan ende opp når du skriver inn mer når du skriver SQL-setninger. Når du navn til objekter i databasen, bør du vurdere denne fakultet.

Bruk erstatter navn for datakilder

Du kan bruke et annet navn til å referere til en datakilde i en SELECT-setning ved å bruke et tabell-postalias i FROM-setningsdelen. En tabellalias er et navn som tilordnes til en datakilde i en spørring når du bruker et uttrykk som datakilde, eller gjøre det enklere å skrive og lese SQL-setningen. Dette kan være spesielt nyttig hvis navnet på datakilden er lang eller vanskelig å skrive inn, spesielt når det er flere felt som har samme navn fra forskjellige tabeller.

Hvis du vil velge data fra to felt, begge med navnet ID, ett som kommer fra tabellen Tblkunde og det andre fra tabellen Tblordre, kan for eksempel SELECT-setningsdelen ligne på følgende:

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

Ved hjelp av tabellaliaser i FROM-setningsdelen, kan du opprette spørringen enklere å skrive. FROM-setningsdelen, med tabellaliaser, kan ligne på følgende:

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

Du kan deretter bruke disse tabellaliasene i SELECT-setningsdelen på følgende måte:

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

Merknad: Når du bruker et tabellalias, kan du referere til datakilden i SQL-setningen ved hjelp av aliaset eller ved hjelp av det fullstendige navnet på datakilden.

Bli med relaterte data

Når du trenger en måte å kombinere verdipar med poster fra to datakilder i enkeltposter i et spørringsresultat, kan du utføre en sammenføyning. En sammenføyning er en SQL-operasjon som angir hvordan to datakilder som er relatert, og om data fra én kilde skal tas Hvis det finnes ingen tilsvarende data fra andre kilden.

Hvis du vil kombinere informasjonen fra to datakilder, kan du utføre en join, operasjon på feltet som er felles. Når verdiene som er lagret i dette feltet tilsvarer, kombineres dataene fra postene i resultatene.

I tillegg til å kombinere data, må du også bruke en kobling til å angi om du vil ta med poster fra begge tabellene hvis det finnes ingen tilsvarende poster i den relaterte tabellen.

Hvis du for eksempel anta at du vil bruke data fra to tabeller i en spørring: Tblkunde og Tblordre. De to tabellene begge har et felt, KundeID som identifiserer en kunde. Alle postene i tabellen Tblkunde kan ha én eller flere tilsvarende poster i tabellen Tblordre, og de tilsvarende verdiene kan bestemmes av verdiene i feltet KundeID.

Hvis du vil Sammenføy tabellene slik at spørringen kombinerer poster fra tabellene, utelate poster fra begge tabellene hvis det er noen tilsvarende post i andre andre tabellen FROM-setningsdelen kan ligne på følgende (linjeskift legges til Her for å lese):

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

I Microsoft Office Access oppstå koblinger i FROM-setningsdelen av en SELECT-setning. Det finnes to typer sammenføyninger: indre koblinger og ytre koblinger. De følgende avsnittene forklarer disse to typer sammenføyninger.

Indre sammenføyninger

Indre koblinger er den vanligste typen sammenføyning. Når en spørring med en indre kobling kjøres, er de eneste postene som er inkludert i spørringsresultatene postene der en felles verdi finnes i begge de sammenføyde tabellene.

En indre kobling har følgende syntaks (linjeskift legges til Her for å lese):

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

Tabellen nedenfor beskriver de forskjellige delene av INNER JOIN-operasjonen.

Del

Beskrivelse

tabell1, tabell2

Navnene på tabellene som postene kombineres fra.

felt1, felt2

Navnene på de sammenføyde 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 beslektet sammenligningsoperator: "=," "<," ">," "<=," ">=," eller "<>."

Ytre sammenføyninger

Ytre koblinger ligner på indre koblinger fordi de forteller en spørring slik kombinere informasjonen fra to kilder. De skiller seg fordi de også angi om du vil inkludere data der ingen felles verdi finnes. Ytre koblinger er retningsbestemte: du kan angi om å inkludere alle postene fra den første datakilden som er angitt i sammenføyningen (kalt en venstre sammenføyning), eller inkludere alle postene fra den andre datakilden i sammenføyningen (kalt en riktig sammenføyning).

En ytre kobling har følgende syntaks:

FROM tabell1 [venstre | RIGHT] JOIN tabell2
ON tabell1.felt1smlopr tabell2.felt2

Tabellen nedenfor beskriver de forskjellige delene av LEFT JOIN- og RIGHT JOIN-operasjonene.

Del

Beskrivelse

tabell1, tabell2

Navnene på tabellene som postene kombineres fra.

felt1, felt2

Navnene på feltene som sammenføyes. Feltene må være av samme datatype og inneholder den samme typen data, men de må ha samme navn.

smlopr

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

Hvis du vil ha mer informasjon om koblinger, kan du se artikkelen føye sammen tabeller og spørringer.

Til toppen av siden

Mer om WHERE-setningsdelen

Når du vil bruke data for å begrense antall poster som returneres i en spørring, kan du bruke spørringen kriterier i WHERE-setningsdelen i en SELECT-setning. Et spørringsvilkår ligner på en formel – det er en streng som kan bestå av feltreferanser, operatorer og konstanter. Spørringsvilkår er en type uttrykk.

Tabellen nedenfor inneholder noen eksempelvilkår og forklaring på hvordan de fungerer.

Vilkår

Beskrivelse

>25 and <50

Dette vilkåret gjelder for et tall-felt, for eksempel pris eller EnheterPåLager. Den inneholder bare postene der-feltet inneholder en verdi større enn 25 og mindre enn 50.

DateDiff ("yyyy", [Fødselsdato], Date()) > 30

Dette vilkåret gjelder for et dato/klokkeslett-felt, for eksempel Fødselsdato. Bare poster der antall år mellom en persons fødselsdato og dagens dato er større enn 30 er inkludert i spørringsresultatet.

Er null

Dette vilkåret kan brukes på alle typer felt til å vise poster der verdien i dette feltet er null.

Som viser tabellen ovenfor, kan vilkår se veldig forskjellig fra hverandre avhengig av datatypen for feltet som gjelder vilkårene og dine spesifikke krav. Noen kriterier er enkle, og bruker grunnleggende operatorer og konstanter. Andre er kompliserte, og bruke funksjoner og spesielle operatorer, og inkluderer feltreferanser.

Viktig: Hvis et felt brukes med en mengdefunksjon, kan du angi vilkår for dette feltet i en WHERE-setning. I stedet kan bruke du en HAVING-setningsdel til å angi vilkår for aggregert felt. For mer informasjon, kan du se delen arbeide med summerte data: GROUP BY- og HAVING.

Syntaksen for WHERE-setningsdel

En WHERE-setningsdel har følgende grunnleggende syntaks:

WHERE field = criterion

Anta for eksempel at du vil telefonnummeret til en kunde, men du bare må du huske at kundens etternavn Bagel. I stedet for å se på alle telefonnumre i databasen, kan du bruke en WHERE-setningsdel for å begrense resultatene og gjøre det enklere å finne telefonnummeret du vil bruke. Forutsatt at et etternavn som er lagret i et felt som heter etternavn, vises WHERE-setningsdelen på følgende måte:

WHERE [LastName]='Bagel'

Merknad: Du har ikke basere vilkårene i WHERE-setningsdelen på likhet med verdier. Du kan bruke andre sammenligningsoperatorer, for eksempel større enn (>) eller mindre enn (<). Hvis du for eksempel der [Rabatt] > 100.

Bruk WHERE-setningsdelen til å kombinere datakilder

Noen ganger kan du vil kombinere datakilder som er basert på felt som har samsvarende data, men har forskjellige datatyper. Hvis du for eksempel et felt i én tabell kan ha datatypen tall, og du vil sammenligne feltet til et felt i en annen tabell som har datatypen tekst.

Du kan ikke opprette en kobling mellom felt som har forskjellige datatyper. Hvis du vil kombinere data fra to datakilder som er basert på verdier i felt som har forskjellige datatyper, kan du opprette en WHERE-setningsdel som bruker ett felt som et kriterium for det andre feltet, ved å bruke LIKE-nøkkelordet.

Anta for eksempel at du vil bruke data fra table1 og table2, men bare når dataene i felt1 (et tekstfelt i tabell1) samsvarer med dataene i felt2 (et tallfelt i tabell2). WHERE-setningsdelen vil ligne på følgende:

WHERE field1 LIKE field2

Hvis du vil ha mer informasjon om hvordan du oppretter kriteriene som skal brukes i en WHERE-setningsdel, kan du se artikkelen eksempler på spørringsvilkår.

Til toppen av siden

Merknad: Ansvarsfraskrivelse for maskinoversettelse: Denne artikkelen er oversatt av et datasystem i stedet for en oversetter. Microsoft tilbyr disse maskinoversettelsene slik at brukere som ikke snakker engelsk, får tilgang til innhold om Microsoft-produkter, -tjenester og –teknologier. Ettersom artikkelen er maskinoversatt, kan den inneholde feil i vokabular, syntaks eller grammatikk.

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Office Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×