Vpišite se z Microsoftovim
Vpišite se ali ustvarite račun.
Pozdravljeni,
Izberite drug račun.
Imate več računov
Izberite račun, s katerim se želite vpisati.
Predikati ALL, DISTINCT, DISTINCTROW in TOP

Določa zapise, izbrane s poizvedbami SQL.

Sintaksa

SELECT [ALL | DISTINCT | DISTINCTROW | [TOP n [PERCENT]]]
TABELA FROM

Izjava SELECT, ki vsebuje te predikate, ima te dele:

Del

Opis

ALL

Privzame se, če ne vključite enega od predikatov. Mehanizem Microsoft Accessove zbirke podatkov izbere vse zapise, ki ustrezajo pogojem v izjavi SQL. Ta dva primera sta enakovredna in vrneta vse zapise iz tabele »Zaposleni«:

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

DISTINCT

Izpustite zapise, ki v izbranih poljih vsebujejo podvojene podatke. Če želite biti vključeni v rezultate poizvedbe, morajo biti vrednosti za vsako polje, navedeno v izjavi SELECT, enolične. Na primer, več zaposlenih, ki so navedeni v tabeli zaposlenih, ima lahko isti priimek. Če dva zapisa vsebujeta Smith v polju Priimek, spodnja izjava SQL vrne le en zapis, ki vsebuje Smith:

SELECT DISTINCT LastName
FROM Employees;

Če izpustite distinct, ta poizvedba vrne oba zapisa Smith.

Če stavek SELECT vsebuje več kot eno polje, mora biti kombinacija vrednosti iz vseh polj enolična, če želite, da je dani zapis vključen v rezultate.

Rezultata poizvedbe, ki uporablja funkcijo DISTINCT, ni mogoče posodobiti in ne odraža poznejših sprememb, ki so jih naredili drugi uporabniki.

DISTINCTROW

Izpustite podatke, ki temeljijo na celotnih podvojenih zapisih, ne le na podvojenih poljih. Ustvarite lahko na primer poizvedbo, ki v polju »ID Stranke« združi tabeli »Stranke« in »Naročila«. V tabeli »Stranke« ni podvojenih polj »ID Stranke«, tabela »Naročila« pa jo vsebuje, ker ima lahko vsaka stranka več naročil. Spodnja izjava SQL prikazuje, kako lahko s funkcijo DISTINCTROW ustvarite seznam podjetij, ki imajo vsaj eno naročilo, vendar brez podrobnosti o teh naročilih:

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

Če izpustite distinctrow, ta poizvedba ustvari več vrstic za vsako podjetje, ki ima več naročil.

Funkcija DISTINCTROW ima učinek le, če izberete polja iz nekaterih tabel, ki so uporabljene v poizvedbi, vendar ne vseh. FUNKCIJA DISTINCTROW je prezrta, če poizvedba vključuje le eno tabelo ali če izhodna polja iz vseh tabel.

TOP n [PERCENT]

Vrne določeno število zapisov, ki so na vrhu ali dnu obsega, določenega s stavkom ORDER BY. Denimo, da želite imena 25 najboljših študentov iz razreda 1994:

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

Če ne vključite stavka ORDER BY, bo poizvedba vrnila poljubni nabor 25 zapisov iz tabele Študenti, ki izpolnjujejo stavek WHERE.

Predikat TOP ne izbira med enakimi vrednostmi. Če sta v prejšnjem primeru povprečja 25. in 26. najvišjega razreda enaka, bo poizvedba vrnila 26 zapisov.

Z rezervirano besedo PERCENT lahko tudi vrnete določen odstotek zapisov, ki so na vrhu ali dnu obsega, določenega s stavkom ORDER BY. Denimo, da namesto 25 najboljših študentov želite spodnjih 10 odstotkov razreda:

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

Predikat ASC določa vrnitev spodnjih vrednosti. Vrednost, ki sledi ukazu TOP, mora biti nepodpisano celo število.

TOP ne vpliva na to, ali je poizvedbo mogoče posodobiti ali ne.

tabela

Ime tabele, iz katerih pridobivate zapise.



Ali potrebujete dodatno pomoč?

Ali želite več možnosti?

Raziščite ugodnosti naročnine, prebrskajte izobraževalne tečaje, preberite, kako zaščitite svojo napravo in še več.

Skupnosti vam pomagajo postaviti vprašanja in odgovoriti nanje, posredovati povratne informacije in prisluhniti strokovnjakom z bogatim znanjem.

Vam je bila informacija v pomoč?

Kako ste zadovoljni s kakovostjo jezika?
Kaj je vplivalo na vašo izkušnjo?
Če pritisnete »Pošlji«, bomo vaše povratne informacije uporabili za izboljšanje Microsoftovih izdelkov in storitev. Vaš skrbnik za IT bo lahko zbiral te podatke. Izjavi o zasebnosti.

Zahvaljujemo se vam za povratne informacije.

×