Predikati ALL, DISTINCT, DISTINCTROW in TOP

Predikati ALL, DISTINCT, DISTINCTROW in TOP

Opomba: Najnovejšo vsebino pomoči v vašem jeziku vam želimo zagotoviti v najkrajšem možnem času. Ta stran je bila prevedena z avtomatizacijo in lahko vsebuje slovnične napake ali nepravilnosti. Naš namen je, da bi bila vsebina za vas uporabna. Ali nam lahko na dnu te strani sporočite, ali so bile informacije za vas uporabne? Tukaj je angleški članek za preprosto referenco.

Določa zapise izbrane s SQL poizvedbe.

Sintaksa

IZBERITE [VSE | RAZLIKOVALNA | DISTINCTROW | [Zgornjih n [odstotek]]]
Iz tabele

Izjava SELECT s temi predikati je sestavljena iz teh delov:

Del

Opis

ALL

Domneva, če jih ne smete vključiti ene od izjav. Mehanizem zbirke podatkov programa Microsoft Access izbere vse zapise, ki ustrezajo pogojem v izjavi SQL. Naslednja dva primera sta enakovredna in vrneta vse zapise iz tabele zaposlenih:

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

DISTINCT

Izpusti zapise, ki vsebujejo podvojene podatke v izbranih poljih. Če želite vključiti v rezultate poizvedbe, vrednosti za vsako polje, ki je navedena v izjavi SELECT mora biti enolična. Na primer, morda več zaposlenih, navedenih v tabeli »zaposleni« enakim priimkom. Če dva zapisa Novak v polju »priimek« , ta izjava SQL vrne samo en zapis, ki vsebuje Novak:

SELECT DISTINCT LastName
FROM Employees;

Če izpustite DISTINCT, poizvedba vrne obeh Novak zapise.

Če stavek SELECT vsebuje več kot eno polje, je kombinacija vrednosti iz vseh polj morajo biti enolična za dani zapis, da bodo vključeni v rezultatih.

Rezultat poizvedbe, ki uporablja DISTINCT ni mogoče posodobiti, in ne odraža vse spremembe, ki so jih naredili drugi uporabniki.

DISTINCTROW

Opusti podatkov, ki temelji na celotni podvojene zapise, ne le podvojena polja. Na primer, lahko ustvarite poizvedbo, ki združi tabele stranke in naročila v polju CustomerID. Tabelo »stranke «ne vsebuje podvojenih CustomerID polj, vendar tabele »naročila «pomeni ker posameznega kupca lahko več naročil. Ta izjava SQL kaže, kako lahko uporabite DISTINCTROW za izdelavo seznama podjetij, ki imajo vsaj en vrstni red, vendar brez vse podrobnosti o teh naročilih:

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

Če izpustite DISTINCTROW, poizvedba vrne več vrstic za vsako podjetje, ki ima več kot en vrstnem redu.

DISTINCTROW učinkuje le, ko izberete polja iz nekaterih, vendar ne vse od tabel v poizvedbi. DISTINCTROW bo prezrta, če vaša poizvedba vključuje le eno tabelo ali če prikažete polja iz vseh tabel.

ZGORNJIH n [odstotek]

Vrne določeno število zapisov, ki so na vrhu ali dnu obsega, ki je določen s stavkom ORDER BY. Recimo, da želite imena 25 najboljših študentov predavanja 1994:

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

Če ne smete vključiti stavek ORDER BY, bo poizvedba vrnila poljubno nastavitev 25 zapisov iz tabele študente, ki izpolnjujejo stavek WHERE.

Izjava TOP ne izbira med enake vrednosti. V prejšnjem primeru, če je dvajset peto in dvajset šesti najvišje povprečje ocen enako, bo poizvedba vrnila 26 zapisov.

Uporabite lahko tudi odstotek rezervirane besede, če se želite vrniti določen odstotek zapisov, ki so na vrhu ali dnu obsega, ki je določen s stavkom ORDER BY. Recimo, da, da namesto 25 najboljših študentov, naj na dno 10 odstotkov razreda:

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

ASC določa vrnitev spodnjih vrednosti. Vrednost, ki sledi TOP mora biti celo število brez predznaka.

VRH ne vpliva na ne glede na to, ali je poizvedba je mogoče posodobiti.

tabela

Ime tabele, iz katerih pridobivate zapise.



Razširite poznavanje Officea
Oglejte si izobraževanje
Prvi dobite nove funkcije
Pridružite se programu Office Insider

Vam je bila informacija v pomoč?

Zahvaljujemo se vam za povratne informacije.

Zahvaljujemo se vam za povratne informacije. Videti je, da bi vam prišla prav pomoč enega od naših Officeovih agentov za podporo.

×