Den här artikeln är en del av en uppsättning om Access SQL. Här förklaras hur du skriver en SELECT sats och visar exempel på tekniker som du kan använda.
En översikt över Access SQL ges i artikeln Access SQL: grundläggande begrepp, ordlista och syntax.
Artikelinnehåll
- Välja fält: SELECT-uttrycket
- Välja alla fält
- Välja distinkta värden
- Använda ersättningsnamn på fält och uttryck: nyckelordet AS
- Välja med hjälp av uttryck
Välja fält: SELECT-uttrycket
En SELECT sats inleds vanligtvis med en SELECT sats. Använd satsen för att ange fälten som innehåller de data du vill ha i en fråga. Du kan också använda uttryck i stället för, eller utöver, fält. Du kan till och med använda ett annat SELECT uttryck som ett fält. Detta kallas för en underfråga.
Anta att du vill veta kundernas telefonnummer. Om fältet som lagrar dessa tal heter txtCustomerPhoneSELECT ser satsen ut så här:
SELECT [txtCustomerPhone]
Du kan omge namnet med hakparenteser. Om namnet inte innehåller blanksteg eller specialtecken är hakparenteserna valfria. Om det gör det måste du använda dem.
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 SQL-uttrycket innehåller två eller fler fält med samma namn lägger du till varje fälts datakällnamn i SELECT satsen. Använd samma namn på 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 lista dem individuellt i SELECT satsen eller använda jokertecknet asterisk (*). När du använder asterisken avgör Access vilka fält datakällan innehåller när frågan körs och inkluderar dem alla. Det här hjälper till att hålla frågan uppdaterad när nya fält läggs till i datakällan.
Du kan använda asterisken med en eller flera datakällor i ett SQL-uttryck. Om du använder asterisken med flera datakällor tar du med namnet på datakällan med asterisken så att Access kan avgöra vilken källa som ska användas.
Anta till exempel att du vill markera alla fält från Orders tabellen men bara e-postadressen Contacts från tabellen.
SELECT Satsen kan se ut så här:
SELECT Orders.*, Contacts.[E-mail Address]
Obs
Håll reda på när du använder asterisken. Om någon senare lägger till nya fält i datakällan och du inte har planerar för dem kanske frågeresultatet inte är det du vill ha.
Välja distinkta värden
Om du vet att uttrycket returnerar dubblettdata och bara vill se distinkta värden använder du nyckelordet DISTINCT i SELECT satsen. Om till exempel vissa kundintressen använder samma telefonnummer DISTINCT ser du till att du bara ser varje telefonnummer en gång:
SELECT DISTINCT [txtCustomerPhone]
Använda ersättningsnamn på fält och uttryck: nyckelordet AS
Du kan ändra etiketten som visas för valfritt 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 txtCustPhonekan du göra resultatet lättare att läsa med hjälp av ett fältalias:
SELECT [txtCustPhone] AS [Customer Phone]
Obs
Du måste använda ett fältalias när du använder ett uttryck i en SELECT sats.
Välja med hjälp av uttryck
Ibland vill du titta på beräkningar baserade på dina data eller bara returnera en del av ett fälts värde. Anta till exempel att du vill returnera det år då kunderna föddes baserat på data i fältet BirthDate .
SELECT Satsen kan se ut så här:
SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]
Det här uttrycket använder funktionen DatumDel och två argument: "yyyy" (en konstant) och [BirthDate] (en identifierare).
Du kan använda ett giltigt uttryck som ett fält om det returnerar ett enstaka värde för ett enda indatavärde.