Angiver poster, der er markeret med SQL-forespørgsler.
Syntaks
SELECT [ALL | DISTINCT | DISTINCTROW | [TOP n [PERCENT]]]
FROM-tabelEn SELECT-sætning, der indeholder disse prædikater, består af følgende dele:
Del |
Beskrivelse |
ALL |
Dette antages, hvis du ikke medtager en af prædikater. Microsoft Access-databaseprogrammet vælger alle de poster, der opfylder betingelserne i SQL-sætningen. Følgende to eksempler er ækvivalente og returnere alle poster fra tabellen Medarbejdere:
|
DISTINCT |
Udelader poster, der indeholder duplikerede data i de markerede felter. For at blive medtaget i resultaterne af forespørgslen skal værdierne for hvert felt, der er angivet i SELECT-sætningen, være entydige. Flere medarbejdere, der er angivet i tabellen Medarbejdere, kan f.eks, have samme efternavn. Hvis to poster indeholder Smith i feltet Efternavn, returnerer følgende SQL-sætning kun én post, der indeholder Smith:
Hvis du udelader DISTINCT, returnerer denne forespørgsel begge Smith-poster. Hvis delsætningen SELECT indeholder mere end ét felt, skal kombinationen af værdier fra alle felter være entydig, hvis en given post skal medtages i resultaterne. Output fra en forespørgsel, der bruger DISTINCT, kan ikke opdateres og afspejler ikke efterfølgende ændringer, der er foretaget af andre brugere. |
DISTINCTROW |
Udelader data, der er baseret på hele dublerede poster, ikke kun dublerede felter. Du kan f.eks. oprette en forespørgsel, der forbinder tabellerne Kunder og Ordrer i feltet Kunde-id. Tabellen Kunder indeholder ingen duplikerede Kunde-id-felter, men det gør tabellen Ordrer, fordi hver kunde kan have mange ordrer. Følgende SQL-sætning viser, hvordan du kan bruge DISTINCTROW til at oprette en liste over firmaer, der har mindst én ordre, men uden oplysninger om disse ordrer:
Hvis du udelader DISTINCTROW, resulterer denne forespørgsel i flere rækker for hver enkelt virksomhed, der har mere end én ordre. DISTINCTROW har kun effekt, når du vælger felter fra nogle men ikke alle de tabeller, der bruges i forespørgslen. DISTINCTROW ignoreres, hvis forespørgslen kun indeholder én tabel, eller hvis du får felter fra alle tabeller. |
TOP n [PERCENT] |
Returnerer et bestemt antal poster, der ligger øverst eller nederst i et område, som er angivet af delsætningen ORDER BY. Antag, at du vil have vist navnene på de bedste 25 studerende fra klassen fra 1994:
Hvis du ikke medtager delsætningen ORDER BY, returnerer forespørgslen et vilkårligt sæt med 25 poster fra tabellen Elever, der opfylder WHERE-delsætningen. Prædikatet TOP vælger ikke mellem ens værdier. Hvis det femogtyvende og seksogtyvende højeste karaktergennemsnit i det foregående eksempel er ens, vil forespørgslen returnere26 poster. Du kan også bruge det reserverede ord PERCENT til at returnere en bestemt procentdel af poster, der ligger øverst eller nederst i et område, der er angivet af delsætningen ORDER BY. Antag, at du i stedet for de øverste 25 studerende vil have vist de nederste 10 % af klassen:
Prædikatet ASC angiver retur af de nederste værdier. Den værdi, der følger TOP, skal være et heltal uden fortegn. TOP har ingen indflydelse på, om forespørgslen kan opdateres eller ej. |
tabel |
Navnet på den tabel, som posterne skal hentes fra. |