En databasfråga extraherar data från en databas och formaterar den till en läsbar form. En fråga måste skrivas i den syntax som databasen kräver - vanligtvis en variant av Structured Query Language.
Delarna av en SQL-fråga
SQL-frågor som använder Data Manipulation Language (uppsättningen SQL-satser som får åtkomst till eller modifierar data, i motsats till Data Definition Language som ändrar strukturen på själva databasen) består av fyra block, varav de två första är inte valfritt.
En SQL-fråga följer åtminstone följande form:
välj X från Y;
Här identifierar det valda nyckelordet vilken information du vill visa och nyckelordet från identifierar var dessa data kommer ifrån och hur dessa datakällor associerar med varandra. Alternativt kan en where-sats sätta begränsande kriterier och gruppera efter och ordning efter satser associera värden och visa dem i en specifik sekvens.
Till exempel:
SELECT emp.ssn, emp.last_name, dept.dept.dept_name
FROM anställda emp LEFT OUTER JOIN departments dept
ON emp.dept_no=dept.dept_no
WHERE emp.active_flag='Y'ORDER BY 2 ASC;
Den här frågan resulterar i ett rutnät som visar personnummer, en anställds efternamn och den anställdes avdelningsnamn - i den kolumnen ordning hämtad från tabellerna för anställda och avdelningar. Person altabellen styr, så den visar bara avdelningsnamn när det finns ett matchande avdelningsnummerfält i båda tabellerna (en vänster yttre koppling är en metod för att länka tabeller där den vänstra tabellen visar alla resultat och endast matchande resultat från höger -sidigt bord visas). Dessutom visar rutnätet bara anställda vars aktiva flagga är satt till Y och resultatet sorteras i stigande ordning efter avdelningens namn.
Men all denna datautforskning börjar med select-satsen.
SQL SELECT-satsen
SQL använder en SELECT-sats för att välja, eller extrahera, specifik data.
Tänk på ett exempel baserat på Northwind-databasen som ofta levereras med databasprodukter som handledning. Här är ett utdrag från databasens person altabell:
Anställd-ID | Efternamn | Förnamn | Titel | Adress | City | Region |
---|---|---|---|---|---|---|
1 | Davolio | Nancy | Försäljningsrepresentant | 507 20th Ave. E. | Seattle | WA |
2 | Fuller | Andrew | Vice President, Sales | 908 W. Capital Way | Tacoma | WA |
3 | Leverling | Janet | Försäljningsrepresentant | 722 Moss Bay Blvd. | Kirkland | WA |
För att returnera en anställds namn och titel från databasen skulle SELECT-satsen se ut ungefär så här:
VÄLJ förnamn, efternamn, titel FRÅN anställda;
Det skulle komma tillbaka:
Förnamn | Efternamn | Titel |
---|---|---|
Nancy | Davolio | Försäljningsrepresentant |
Andrew | Fuller | Vice President, Sales |
Janet | Leverling | Försäljningsrepresentant |
För att förfina resultaten ytterligare kan du lägga till en WHERE-klausul:
VÄLJ förnamn, efternamn FRÅN anställdaWHERE City='Tacoma';
Det returnerar förnamn och efternamn för alla anställda som kommer från Tacoma:
Förnamn | Efternamn |
---|---|
Andrew | Fuller |
SQL returnerar data i en rad-och-kolumnform som liknar Microsoft Excel, vilket gör det enkelt att visa och arbeta med. Andra frågespråk kan returnera data som ett diagram eller diagram.
The Power of Queries
En databas har potential att avslöja komplexa trender och aktiviteter, men denna kraft utnyttjas bara genom användningen av frågan. En komplex databas består av många tabeller som lagrar en stor mängd data. En fråga låter dig filtrera data till en enda tabell så att du lättare kan analysera den.
Frågningar kan också utföra beräkningar på dina data eller automatisera datahanteringsuppgifter. Du kan också granska uppdateringar av dina data innan du överför dem till databasen.
FAQ
Hur söker du efter en Access-databas?
För att skapa en fråga i Microsoft Access, gå till Create > Query WizardVälj sedan en frågetyp, till exempel Simple Query Wizard > OK Välj en tabell från rullgardinsmenyn > välj dina fält och typ av resultat du vill ha > Finish
Vad är Structured Query Language?
Structured Query Language, eller SQL, är ett programmeringsspråk som används i datahanteringssystem och relationsdatabaser. Eftersom det är lätt att använda och effektivt har det införlivats i kommersiella databaser som MySQL, Sybase, Postgres, Oracle och mer.
Hur optimerar du en SQL-fråga?
För att optimera en SQL-fråga och göra den så effektiv som möjligt, använd SELECT-satsen för att instruera databasen att endast fråga relevant information. Undvik att använda SELECT DISTINCT-satsen, som kräver mycket processorkraft. Använd endast jokertecken i slutet av uttalanden och använd LIMIT-satsen för att endast returnera det angivna antalet poster.