ALL, DISTINCT, DISTINCTROW, TOP, predikater

ALL, DISTINCT, DISTINCTROW, TOP, predikater

Viktig: Denne artikkelen er maskinoversatt, se ansvarsfraskrivelsen. Du finner den engelske versjonen av artikkelen her som referanse.

Angir postene som er merket med SQL-spørringer.

Syntaks

VELG [ALLE | DISTINKTE | DISTINCTROW | [Øverste n [PROSENT]]]
Fra tabell

En SELECT-setning som inneholder disse predikater har følgende deler:

Del

Beskrivelse

ALL

Antas det at hvis du ikke inkluderer en av predikatene. Microsoft Access database engine merker alle poster som oppfyller vilkårene i SQL-setningen. Eksemplene nedenfor er like, og returnerer alle postene fra Ansatte-tabellen:

SELECT ALL *
FROM Employees
ORDER BY EmployeeID;
SELECT *
FROM Employees
ORDER BY EmployeeID;

DISTINCT

Utelater poster som inneholder like data i de merkede feltene. For å inkluderes i resultatene av spørringen, må verdiene for hvert felt som er oppført i SELECT-setningen være unik. Flere ansatte som er oppført i ansattabellen kan for eksempel ha samme etternavn. Hvis to poster inneholder Jensen i feltet Etternavn, returnerer følgende SQL-setning bare én oppføring som inneholder Jensen:

SELECT DISTINCT LastName
FROM Employees;

Hvis du utelater DISTINCT, returnerer denne spørringen begge Jensen poster.

Hvis SELECT-setningsdelen inneholder mer enn ett felt, må kombinasjonen av verdier fra alle felt være unik for en gitt post som skal inkluderes i resultatene.

Resultatet av en spørring som bruker DISTINCT er ikke oppdaterbar og reflekterer ikke etterfølgende endringer gjort av andre brukere.

DISTINCTROW

Utelater data basert på hele like poster, ikke bare duplikate felt. Du kan for eksempel opprette en spørring som føyer sammen tabellene Kunder og ordrer i kunde-ID-feltet. Kunder-tabellen inneholder ingen like KundeID-felt, men Ordrer-tabellen har fordi hver kunde kan ha mange ordrer. Følgende SQL-setning viser hvordan du kan bruke DISTINCTROW til å lage en liste over firmaer med minst én ordre, men uten noen detaljer om disse ordrer:

SELECT DISTINCTROW CompanyName
FROM Customers INNER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
ORDER BY CompanyName;

Hvis du utelater DISTINCTROW, produserer denne spørringen flere rader for hvert firma som har mer enn én ordre.

DISTINCTROW har en effekt bare når du velger felt fra noen, men ikke alle, av tabellene som brukes i spørringen. DISTINCTROW ignoreres hvis spørringen inneholder bare én tabell, eller hvis du sender felt fra alle tabeller.

TOP n [PROSENT]

Returnerer et bestemt antall poster som faller øverst eller nederst på et område som er angitt av en ORDER BY-setningsdel. La oss si at du vil bruke navnene på de 25 beste studentene fra 1994-klassen:

SELECT TOP 25
FirstName, LastName
FROM Students
WHERE GraduationYear = 2003
ORDER BY GradePointAverage DESC;

Hvis du ikke inkluderer ORDER BY-setningsdelen, returnerer spørringen et tilfeldig sett med 25 poster fra tabellen studenter som oppfyller WHERE-setningsdelen.

Predikatet TOP velger ikke mellom like verdier. Hvis de tjuefemte og tjuesjette beste karakteren er like, i eksemplet ovenfor returnerer spørringen 26 poster.

Du kan også bruke PROSENT reservert ord til å returnere en viss prosentdel poster som faller øverst eller nederst på et område som er angitt av en ORDER BY-setningsdel. Sett at, i stedet for beste 25-studenter du ønsker nederst 10 prosent av klassen:

SELECT TOP 10 PERCENT
FirstName, LastName
FROM Students
WHERE GraduationYear = 2003
ORDER BY GradePointAverage ASC;

Predikatet angir ASC at retur av nederste verdiene. Verdien som følger TOP må være et heltall uten fortegn.

TOP påvirker ikke om spørringen er oppdaterbar eller ikke.

tabell

Navnet på tabellen som postene er hentet fra.



Merknad: Ansvarsfraskrivelse for maskinoversettelse: Denne artikkelen er oversatt av et datasystem i stedet for en oversetter. Microsoft tilbyr disse maskinoversettelsene slik at brukere som ikke snakker engelsk, får tilgang til innhold om Microsoft-produkter, -tjenester og –teknologier. Ettersom artikkelen er maskinoversatt, kan den inneholde feil i vokabular, syntaks eller grammatikk.

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Office Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×