Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.
Redigera SQL-uttryck för att skärpa frågeresultat

Om dina frågor inte fungerar tillräckligt hårt kan du fokusera resultaten genom att lägga till några grundläggande SQL-satser. Låt oss titta på några typer av SQL-uttryck och de satser eller delar som du kan redigera för att få de resultat du vill ha.

Obs!:  Den här artikeln gäller inte för Access-webbappar – den sortens databas som du utformar med Access och publicerar online.

Artikelinnehåll

Skapa ett Select-uttryck

Ett SQL Select-uttryck har två till tre satser. SELECT-satsen talar om för databasen var de ska söka efter data och ber den att returnera ett specifikt resultat.

Obs!:  SELECT-uttryck slutar alltid med semikolon (;) antingen i slutet av den sista satsen eller på en rad i slutet av SQL-uttrycket.

Följande select-instruktion ber Access att hämta information från kolumnerna E-postadress och Företag, från tabellen Kontakter, särskilt där "Seattle" hittas i kolumnen Ort.

SQL-objektfliken med ett SELECT-uttryck

Ovanstående fråga har tre satserNA SELECT, FROM och WHERE.

1. SELECT-satsen listar kolumnerna som innehåller de data som du vill använda och har en operator (SELECT) följt av två identifierare (E-mail Address and Company). Om en identifierare innehåller blanksteg eller specialtecken (t.ex. "E-postadress" omger du identifieraren inom hakparenteser.

2. FROM-satsen identifierar källtabellen. I det här exemplet har den en operator (FROM) följt av en identifierare (Kontakter).

3. WHERE-satsen är en valfri sats. I exemplet finns en operator (WHERE) följt av ett uttryck (City="Seattle").

Mer information om urvalsfrågor finns i skapa en enkel urvalsfråga.

Här är en lista över vanliga SQL-satser:

SQL-sats

Funktion

Krävs ?

SELECT

Visar de fält som innehåller de data som du är intresserad av.

Ja

FROM

Visar de tabeller som innehåller de fält som anges i SELECT-satsen.

Ja

WHERE

Anger vilka fältvillkor som måste uppfyllas av en post för att posten ska tas med i resultatet.

Nej

ORDER BY

Anger hur resultatet ska sorteras.

Nej

GROUP BY

Visar fält som inte sammanfattas i SELECT-satsen i SQL-uttryck som innehåller mängdfunktioner.

Endast om den typen av fält förekommer

HAVING

Anger vilka villkor som gäller för fält som sammanfattas i SELECT-satsen i SQL-uttryck som innehåller mängdfunktioner.

Nej

Varje SQL-sats består av termer. Här är en lista över några vanliga SQL-termer.

SQL-term

Definition

Exempel

identifierare

Ett namn som du använder för att identifiera ett databasobjekt, till exempel kolumnnamnet.

[E-postadress] och företag

operator

Ett nyckelord som representerar eller modifierar en åtgärd.

AS

konstant

Ett värde som inte ändras, till exempel ett tal eller NULL.

42

uttryck

En kombination av identifierare, operatorer, konstanter och funktioner som returnerar ett enda värde.

>= Produkter.[Enhetspris]

Överst på sidan

Anpassa SELECT-satsen

Anpassa

Exempel

Om du bara vill visa distinkta värden.

Använd nyckelordet DISTINCT i SELECT-satsen.

Om dina kunder till exempel kommer från flera olika filialkontor och vissa har samma telefonnummer och du bara vill se ett telefonnummer en gång, skulle SELECT-satsen se ut så här:

SELECT DISTINCT [txtCustomerPhone] 

Så här ändrar du hur en identifierare visas i databladsvyn för att förbättra läsbarheten.

Använd AS-operatorn (ett nyckelord som representerar en åtgärd eller ändrar en åtgärd) med ett fältalias i SELECT-satsen. Ett fältalias är ett namn som du tilldelar ett fält för att göra resultatet lättare att läsa.

SELECT [txtCustPhone] AS [Customer Phone]

Anpassa FROM-satsen

Anpassa

Exempel

Du kan använda ett tabellalias eller ett annat namn som du tilldelar en tabell i ett select-uttryck. Ett tabellalias är användbart om namnet på tabellnamnet är långt, särskilt när du har flera fält som har samma namn från olika tabeller.

Om du vill välja data från två fält, både med namnet ID, varav ett kommer från tabellen tblCustomer och det andra från tabellen tblOrder:

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

Använd AS-operatorn för att definiera tabellalias i FROM-satsen:

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

Sedan kan du använda följande tabellalias i SELECT-satsen:

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

Använd kopplingar för att kombinera par med poster från två datakällor till ett resultat eller för att ange om poster från någon av tabellerna ska tas med om det inte finns någon motsvarande post i den relaterade tabellen.

Koppla tabellerna så att frågan kombinerar objekten från tabellerna och exkluderar objekt när det inte finns någon motsvarande post i den andra tabellen

Så här kan FROM-satsen se ut:

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

Om att använda kopplingar

Det finns två typer av kopplingar, inre och yttre kopplingar. Inre kopplingar är vanligare i frågor. När du kör en fråga med en inre koppling visas bara de objekt där det finns ett gemensamt värde i båda de kopplade tabellerna.

Yttre kopplingar anger om data ska inkluderas där det inte finns något gemensamt värde. Yttre kopplingar är riktade, vilket innebär att du kan ange om du vill ta med alla poster från den första tabellen som anges i kopplingen (kallas för en vänsterkoppling), eller om du vill ta med alla poster från den andra tabellen i kopplingen (kallas för en högerkoppling). En yttre koppling har följande SQL-syntax:

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

Mer information om hur du använder kopplingar i en fråga finns i Koppla tabeller och frågor.

Överst på sidan

Anpassa WHERE-satsen

WHERE-satsen innehåller villkor som begränsar antalet objekt som returneras i en fråga. Se exempel på frågevillkor och hur de fungerar.

Ett exempel på hur du kan anpassa den grundläggande WHERE-satsen är att begränsa resultatet av en fråga. Anta att du vill hitta telefonnumret till en kund och bara kan komma ihåg hans efternamn som Bagel. I det här exemplet lagras efternamnen i ett LastName-fält, så SQL-syntaxen skulle vara:

WHERE [LastName]='Bagel'

Använd WHERE-satsen för att kombinera datakällor för kolumner som har matchande data, men olika datatyper. Det här är praktiskt eftersom du inte kan skapa en koppling mellan fält som har olika datatyper. Använd ett fält som ett villkor för det andra fältet med nyckelordet LIKE . Om du till exempel vill använda data från tabellen Tillgångar och tabellen Anställda, bara när typen av tillgång i fältet Tillgångstyp i tabellen Tillgångar har talet 3 i fältet Antal i tabellen Anställda, skulle where-satsen se ut så här:

WHERE field1 LIKE field2

Viktigt!:  Du kan inte ange villkor för ett fält som används med en mängdfunktion i en WHERE-sats. I stället kan du använda en HAVING-sats för att ange villkor för aggregeringsfält.

Överst på sidan

Anpassa med operatorn UNION

Använd operatorn UNION när du vill se en kombinerad vy av resultat från flera liknande urvalsfrågor. Om databasen till exempel har en produkttabell och en tjänsttabell och båda har tre fält: exklusivt erbjudande eller produkt eller tjänst, pris, garanti eller garanti. Även om garantiinformation lagras i tabellen Produkter och garantiinformation lagras i tabellen Tjänster, är den grundläggande informationen densamma. Du kan använda en unionsfråga för att kombinera de tre fälten från de två tabellerna så här:

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

När du kör frågan kombineras data från varje uppsättning motsvarande fält till ett utdatafält. Om du vill ta med dubblettrader i resultatet använder du operatorn ALL.

Obs!:  Select-instruktionen måste ha samma antal utdatafält, i samma ordning och med samma eller kompatibla datatyper. När det gäller unionsfrågor är antal och textdatatyper kompatibla.

Mer information om unionsfrågor finns i Använda en unionsfråga för att visa ett enhetligt resultat från flera frågor.

Ö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.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×