Predikati ALL, DISTINCT, DISTINCTROW, TOP

Predikati ALL, DISTINCT, DISTINCTROW, TOP

Važno : Ovaj članak je mašinski prevesti potražite u članku Odricanje odgovornosti. O referencu pronaći verzija ovaj članak ovde na engleskom jeziku.

Navodi izabranih sa SQL upitima zapisa.

Sintaksa

IZABERITE STAVKU [SVE | RAZLIČITE | DISTINCTROW | [Prvih n [%]]]
Iz tabele

Naredba SELECT koja sadrži ove predikate ima sledeće delove:

Deo

Opis

ALL

Pretpostavlja da ne sadrži nijedan predikat. Microsoft Access mašina baze podataka bira sve zapise koji ispunjavaju uslove u SQL izrazu. Dva primera koji slede su ekvivalentni i vraćaju sve zapise iz tabela "Zaposleni":

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

RAZLIČITE

Izostavlja zapise koji sadrže duplirane podatke u izabranim poljima. Će biti uključeni u rezultate upita, vrednosti za svako polje naveden u instrukciji SELECT mora biti jedinstvena. Na primer, nekoliko zaposlenih navedenih u tabeli zaposleni možda istim prezimenom. Ako dva zapisa sadrže Simić u polju "Prezime", sledeći SQL izraz vraća samo jedan zapis koji sadrži Simić:

SELECT DISTINCT LastName
FROM Employees;

Ako izostavite DISTINCT, ovaj upit vraća zapise obe Simić.

Ako odredba SELECT sadrži više od jednog polja, kombinacija vrednosti iz svih polja mora biti jedinstvena za dati zapis koji će biti uključeni u rezultate.

Rezultat upita koji koristi DISTINCT nije moguće ažurirati i ne odražava sledeće promene koje su izvršili drugi korisnici.

DISTINCTROW

Izostavlja podatke zasnovane na svim dupliranim zapisima, a ne samo duplirana polja. Na primer, možete da kreirate upita koji spaja tabele "Kupci i porudžbine" na polje ID klijenta. Tabela "Kupci" sadrži bez duplirana polja ID kupca, ali tabelu "porudžbine" da li zato što svaki kupac može imati više porudžbina. Sledeću SQL instrukciju prikazuje kako možete da koristite DISTINCTROW da biste dobili listu preduzećima koja imaju najmanje jednu porudžbinu, ali bez detalja o ovim porudžbinama:

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

Ako izostavite DISTINCTROW, ovaj upit daje većeg broja redova za svaku kompaniju koja ima više od jednog naloga.

DISTINCTROW ima efekta samo kada izaberete polja iz nekih, ali ne svih tabela koje se koriste u upitu. DISTINCTROW se zanemaruje ako upit sadrži samo jednu tabelu ili ako izvedete polja iz svih tabela.

PRVIH n [%]

Vraća određeni broj zapisa koji se nalaze na vrhu ili na dnu opsega navedenog tako što ćete u odredbi ORDER. Pretpostavimo da želite imena najboljih 25 studenata iz generacije 1994:

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

Ako ne uključite Odredba ORDER BY, upit će vratiti proizvoljan skup od 25 zapisa iz tabele studente koji zadovoljavaju odredbu WHERE.

Predikat TOP ne bira između podjednake vrednosti. U prethodnom primeru, ako je 25 i 26 najviše ocenu tačku prosečne vrednosti su iste, upit će vratiti 26 zapisa.

Takođe možete da koristite procenat rezervisana reč da biste se vratili određeni procenat zapisa koji se nalaze na vrhu ili dnu opsega navedenog tako što ćete u odredbi ORDER. Pretpostavimo da, umesto 25 najboljih studenata, želite dna 10 procenata klase:

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

Predikat ASC određuje rezultat najniže vrednosti. Vrednost koja prati TOP mora biti ceo broj nepotpisani.

Ne utiču na vrhu li upit da se ažurira.

tabela

Ime tabele iz koje se preuzimaju zapisi.



Napomena : Odricanje odgovornosti mašinskog prevođenja: ovaj članak je preveden sistem računara bez ljudski interventne. Microsoft nudi ove mašinskog prevoda da pomogne koja nije na engleskom govornih korisnicima da uživate u sadržaju za Microsoft proizvode, usluge i tehnologijama. U članku bio mašinskog prevesti, mogu da sadrže greške u rečnik, sintaksa ili gramatiku.

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×