Prijavite se pomoću Microsofta
Prijavi se ili izradi račun.
Zdravo,
Odaberite drugi račun.
Imate više računa
Odaberite račun putem kojeg se želite prijaviti.
Predikati ALL, DISTINCT, DISTINCTROW, TOP

Određuje zapise odabrane uz SQL upite.

Sintaksa

SELECT [SVE | DISTINCT | DISTINCTROW | [TOP n [PERCENT]]]
FROM tablica

Naredba SELECT koja sadrži te predikate sastoji se od sljedećih dijelova:

Dio

Opis

ALL

Pretpostavlja se ako ne uvrstite jedan od predikata. Modul baze podataka programa Microsoft Access odabire sve zapise koji zadovoljavaju uvjete u SQL naredbi. Sljedeća su dva primjera ekvivalentna i vraćaju sve zapise iz tablice Zaposlenici:

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

DISTINCT

Izograničen je zapis koji sadrži duplicirane podatke u odabranim poljima. Da bi se uvrstili u rezultate upita, vrijednosti za svako polje navedeno u naredbi SELECT moraju biti jedinstvene. Na primjer, nekoliko zaposlenika navedenih u tablici Zaposlenici može imati isto prezime. Ako dva zapisa sadrže Smitha u polju Prezime, sljedeća SQL naredba vraća samo jedan zapis koji sadrži Smitha:

SELECT DISTINCT LastName
FROM Employees;

Ako izostavite DISTINCT, ovaj upit vraća oba zapisa smitha.

Ako uvjet SELECT sadrži više polja, kombinacija vrijednosti iz svih polja mora biti jedinstvena da bi se navedeni zapis uvrstili u rezultate.

Izlaz upita koji koristi DISTINCT nije moguće ažurirati i ne odražava daljnje promjene koje su unijeli drugi korisnici.

DISTINCTROW

Izograničen je broj podataka na temelju cijelih dupliciranih zapisa, a ne samo na dupliciranim poljima. Možete, primjerice, stvoriti upit koji spaja tablice Kupci i Narudžbe u polju IDKupca. Tablica Kupci ne sadrži dvostruka polja IDKupca, ali tablica Narudžbe funkcionira jer svaki klijent može imati mnogo narudžbi. Sljedeća SQL naredba pokazuje kako koristiti DISTINCTROW za stvaranje popisa tvrtki koje imaju barem jednu narudžbu, ali bez pojedinosti o tim narudžbama:

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

Ako izostavite DISTINCTROW, ovaj upit stvara više redaka za svaku tvrtku koja ima više od jednog redoslijeda.

DISTINCTROW ima učinak samo kada odaberete polja iz nekih, ali ne i svih tablica koje se koriste u upitu. DISTINCTROW se zanemaruje ako upit sadrži samo jednu tablicu ili ako izlazna polja iz svih tablica.

TOP n [PERCENT]

Vraća određeni broj zapisa koji se nalaze na vrhu ili dnu raspona navedenog uvjetom ORDER BY. Pretpostavimo da želite imena 25 najboljih učenika iz razreda 1994:

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

Ako ne uvrstite uvjet ORDER BY, upit će vratiti proizvoljni skup od 25 zapisa iz tablice Učenici koji zadovoljavaju uvjet WHERE.

Predikat TOP ne odabire jednake vrijednosti. U prethodnom primjeru, ako su dvadeset peti i dvadeset šesti najviši prosjek ocjena isti, upit će vratiti 26 zapisa.

Rezerviranu riječ PERCENT možete koristiti i za vraćanje određenog postotka zapisa koji se nalaze na vrhu ili dnu raspona navedenog uvjetom ORDER BY. Pretpostavimo da umjesto 25 najboljih učenika želite 10 posto od razreda:

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

Predikat ASC određuje povrat donjih vrijednosti. Vrijednost koja slijedi kao TOP mora biti nepotpisan cijeli broj.

TOP ne utječe na to može li se upit ažurirati.

tablica

Naziv tablice iz koje se zapisi učitavaju.



Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.

Jesu li vam ove informacije bile korisne?

Koliko ste zadovoljni jezičnom kvalitetom?
Što je utjecalo na vaše iskustvo?
Ako pritisnete Pošalji, vaše će se povratne informacije iskoristiti za poboljšanje Microsoftovih proizvoda i usluga. Vaš će IT administrator moći prikupiti te podatke. Izjava o zaštiti privatnosti.

Hvala vam na povratnim informacijama!

×