SQL i Access: SELECT-satsen
Applies ToAccess för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Det här är en artikel i en uppsättning med artiklar om Access SQL. I den här artikeln beskrivs hur du skriver ett SELECT-uttryck och du får exempel på olika tekniker du kan använda när du skriver dem.

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

Artikelinnehåll

Välja fält: SELECT-uttrycket

Ett SELECT-uttryck inleds normalt med en SELECT-sats. Du kan använda en SELECT-sats till att ange namnen på fälten som innehåller de data du vill använda i en fråga. Du kan också använda uttryck i stället för eller utöver fält. Du kan även använda ett annat SELECT-uttryck som ett fält, och det här kallas även för en underfråga.

Anta att du vill veta telefonnumren till dina kunder. Om fältet som lagrar kundernas telefonnummer heter txtCustPhone så skulle SELECT-satsen se ut så här:

SELECT [txtCustomerPhone]

Du kan omge namnet med hakparenteser. Om namnet inte innehåller blanksteg eller specialtecken (som skiljetecken) är hakparenteserna valfria. Om namnet innehåller blanksteg eller specialtecken måste du använda hakparenteser.

Tips: Ett namn som innehåller blanksteg är lättare att läsa och kan spara tid när du utformar formulär och rapporter, men du kan behöva skriva mer när du skriver SQL-uttryck. Tänk på det här när du namnger objekt i Access-databasen.

Om ditt SQL-uttryck innehåller två eller flera fält som har samma namn måste du lägga till namnet på datakällan för respektive fält i fältnamnet i SELECT-satsen. Du kan använda samma namn för datakällan som du använder i FROM-satsen.

Välja alla fält

När du vill ta med alla fält från en datakälla kan du antingen lista alla fält individuellt i SELECT-satsen eller använda en asterisk (*) som jokertecken. När du använder asterisken avgör Access när frågan körs vilka fält datakällan innehåller och alla dessa fält tas med i frågan. Det här gör att frågan hålls uppdaterad om nya fält läggs till i datakällan.

Du kan använda asterisken för en eller flera datakällor i ett SQL-uttryck. Om du använder asterisken och det finns flera datakällor måste du inkludera namnet på datakällorna med asterisken, så att Access kan avgöra från vilken datakälla alla fält ska tas med.

Anta till exempel att du vill välja alla fält i tabellen Orders men endast e-postadresserna från tabellen Contacts. Då kan din SELECT-sats se ut så här:

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

Obs!: Håll reda på när du använder asterisken. Om nya fält läggs till i datakällan och du inte har planerat för detta kanske du inte får de frågeresultat du vill.

Välja distinkta värden

Om du vet att ditt uttryck kommer väljer redundanta data och du hellre endast vill visa distinkta värden kan använda du nyckelordet DISTINCT i SELECT-satsen. Anta till exempel att dina kunder representerar olika intressen varav en del använder samma telefonnummer. Om du vill se till att du bara ser varje telefonnummer en gång kan SELECT-satsen se ut så här:

SELECT DISTINCT [txtCustomerPhone]

Använda ersättningsnamn på fält och uttryck: nyckelordet AS

Du kan ändra vilken etikett som visas för alla fält i databladsvyn med nyckelordet AS och ett fältalias i SELECT-satsen. Ett fältalias är ett namn som du tilldelar till ett fält i en fråga så att resultatet blir lättare att. Om du till exempel vill välja data från ett fält med namnet txtCustPhone och fältet innehåller kundernas telefonnummer så kan du göra resultatet lättare att läsa med hjälp av ett fältalias i SELECT-satsen:

SELECT [txtCustPhone] AS [Customer Phone]

Obs!: När du använder ett uttryck i en SELECT-sats måste du använda ett fältalias.

Välja med hjälp av uttryck

Ibland kanske du vill titta på beräkningar baserade på dina data eller endast hämta en delmängd fältdata. Anta till exempel att du vill returnera vilket år kunderna är födda baserat på data i fältet BirthDate i databasen. Då kan din SELECT-sats se ut så här:

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

Det här uttrycket består av funktionen DatePart och två argument, ”yyyy” (en konstant) och [BirthDate] (en identifierare).

Du kan använda valfritt giltigt uttryck som ett fält om uttrycket returnerar ett enskilt värde när du matar in ett enskilt indatavärde.

Överst på sidan

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.