SQL i Access: WHERE-satsen

SQL i Access: WHERE-satsen

Det här är en av artiklarna i en artikelserie om Access SQL. I den här artikeln beskrivs hur du skriver en WHERE-sats och du får exempel på olika tekniker du kan använda i en WHERE-sats.

I ett SQL-uttryck anger WHERE-satsen villkor som fältvärden måste uppfylla för de poster som innehåller värden som ska ingå i sökresultaten.

En översikt över Access SQL ges i artikeln Access SQL: grundläggande begrepp, ordlista och syntax.

Artikelinnehåll

Begränsa resultaten genom att använda villkor

Syntax för WHERE-satser

Använd WHERE-satsen för att kombinera datakällor

Begränsa resultaten genom att använda kriterier

När du vill använda data för att begränsa antalet poster som returneras i en fråga kan du använda villkor. Ett frågevillkor liknar en formel – det är en sträng som kan bestå av fältreferenser, operatorer och konstanter. Frågevillkor är en typ av uttryck.

Följande tabell visar några exempelvillkor med förklaring av hur de fungerar.

Villkor

Beskrivning

>25 och <50

Detta villkor gäller ett talfält, till exempel pris eller EnheterILager. Det tar bara med de poster där Pris- eller EnheterILager-fältet innehåller ett värde som är större än 25 och mindre än 50.

DatumDiff ("åååå", [födelsedatum], datum()) > 30

Detta villkor gäller ett Datum/tid-fält, till exempel Födelsedatum. Endast poster där antalet år mellan en persons födelsedatum och dagens datum är större än 30 tas med i frågeresultatet.

Är Null

Detta villkor kan användas på alla typer av fält för att visa poster där fältvärdet är null.

Som du kan se i föregående tabell kan villkor se mycket olika ut beroende på datatypen för det fält som de gäller och dina specifika krav. Några villkor är enkla och använder grundläggande operatorer och konstanter. Andra är komplexa och använder funktioner och specialoperatorer och innehåller fältreferenser.

Viktigt!: Om du använder ett fält med en mängdfunktion kan du inte ange villkor för det fältet i en WHERE-sats. I stället kan du använda en HAVING-sats för att ange villkor för aggregeringsfält. Mer information finns i artiklarna Access SQL: grundläggande begrepp, ordlista och syntax och HAVING-sats.

Syntax för WHERE-satser

Du kan använda frågevillkoret i WHERE-satsen i ett SELECT-uttryck.

En WHERE-sats har följande grundläggande syntax:

WHERE field = criterion

Anta att du till exempel behöver telefonnumret till en kund, men du kommer bara ihåg att kunden heter Svensson i efternamn. I stället för att titta på alla telefonnummer i databasen kan du använda en WHERE-sats för att begränsa resultaten och göra det lättare att hitta telefonnumret du behöver. Om vi utgår från att efternamnen finns i ett fält med namnet Efternamn visas WHERE-satsen på följande sätt:

WHERE [LastName]='Bagel'

Obs!: Du behöver inte basera villkoret i WHERE-satsen på likvärdiga värden. Du kan använda andra jämförelseoperatorer, till exempel större än (>) eller mindre än (<). Till exempel WHERE [pris] > 100.

Använd WHERE-satsen för att kombinera datakällor

Ibland kanske du vill kombinera datakällor baserat på fält som innehåller överensstämmande data, men har olika datatyper. Ett fält i en tabell kan till exempel ha datatypen Tal och du vill jämföra det fältet med ett fält i en annan tabell som har datatypen Text.

Du kan inte skapa en koppling mellan fält som har olika datatyper. Om du vill kombinera data från två datakällor baserat på värden i fält som har olika datatyper, skapar du en WHERE-sats som använder ett fält som ett villkor för det andra fältet med hjälp av nyckelordet LIKE.

Anta att du till exempel vill använda data från tabell1 och tabell2, men endast om informationen i fält1 (ett textfält i tabell1) stämmer överens med datan i fält2 (ett numeriskt fält i tabell2). Då skulle WHERE-satsen se ut ungefär så här:

WHERE field1 LIKE field2

Mer information om hur du skapar villkor för användning i en WHERE-sats finns i artikeln Exempel på frågevillkor.

Överst på sidan

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×