Pierakstīties, izmantojot Microsoft
Pierakstīties vai izveidot kontu
Sveicināti!
Atlasīt citu kontu.
Jums ir vairāki konti
Izvēlieties kontu, ar kuru vēlaties pierakstīties.
Predikāti ALL, DISTINCT, DISTINCTROW, TOP

Norāda ar SQL vaicājumiem atlasītos ierakstus.

Sintakse

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

Priekšrakstam SELECT ar šiem predikātiem ir šādas daļas:

Daļa

Apraksts

ALL

Tiek pieņemts, ka, ja nav iekļauts kāds no predikātiem. Microsoft Access datu bāzes programma atlasa visus ierakstus, kas atbilst SQL priekšraksta nosacījumiem. Šie divi piemēri ir ekvivalenti un atgriež visus ierakstus no tabulas Employees (Darbinieki):

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

DISTINCT

Izlaiž ierakstus, kas satur datu dublikātus atlasītajiem laukiem. Lai tiktu iekļautas vaicājuma rezultātos, katra priekšraksta SELECT lauka vērtībām jābūt unikālām. Piemēram, vairākiem darbiniekiem tabulā ir vienādi uzvārdi. Ja divos ierakstos laukā LastName ir iekļauts Bērziņš, šis SQL priekšraksts atgriež tikai vienu ierakstu, kas satur Bērziņš:

SELECT DISTINCT LastName
FROM Employees;

Ja tiek izlaists DISTINCT, šis vaicājums atgriež abus Smith ierakstus.

Ja klauzulā SELECT ir vairāki lauki, vērtību kombinācijai no visiem laukiem ir jābūt unikālai, lai kāds ieraksts tiktu iekļauts rezultātos.

Vaicājuma, kas izmanto DISTINCT, izvadi nav atjaunināma un neatspoguļo turpmākās citu lietotāju veiktās izmaiņas.

DISTINCTROW

Izlaiž datus, pamatojoties uz veseliem ierakstu dublikātiem, nevis tikai lauku dublikātiem. Piemēram, varat izveidot vaicājumu, kas laukā CustomerID savieno tabulas Customers un Orders. Tabulā Klienti nav lauku CustomerID dublikāti, taču tabulai Pasūtījumi ir daudzi pasūtījumi, jo katram klientam var būt vairāki pasūtījumi. Tālāk redzamais SQL priekšraksts parāda, kā var izmantot DISTINCTROW, lai izveidotu sarakstu ar uzņēmumiem, kuriem ir vismaz viens pasūtījums, bet nav detalizētas informācijas par šiem pasūtījumiem:

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

Ja tiek izlaists DISTINCTROW, šis vaicājums izveido vairākas rindas katram uzņēmumam, kuram ir vairāki pasūtījumi.

DISTINCTROW efekts ir spēkā tikai tad, ja atlasāt laukus no dažām, bet ne visām vaicājumā izmantotajām tabulām. DISTINCTROW tiek ignorēta, ja vaicājumā ir ietverta tikai viena tabula, vai arī izvades lauki no visām tabulām.

TOP n [PERCENT]

Atgriež noteiktu skaitu ierakstu, kas atrodas klauzulas ORDER BY norādītā diapazona augšā vai apakšā. Pieņemsim, ka vēlaties no 1994. gada klases topajiem 25 skolēniem nosaukumos:

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

Ja neietverat klauzulu ORDER BY, vaicājums atgriezīs patvaļīgu 25 ierakstu kopu no tabulas Skolēni, kas apmierina klauzulu WHERE.

Predikāts TOP ne izvēlas vienu no vienādām vērtībām. Iepriekšējā piemērā, ja divdesmit piektā un divdesmit sestā atzīmes atzīme ir vienāda, vaicājums atgriezīs 26 ierakstus.

Rezervēto vārdu PERCENT var izmantot arī, lai atgrieztu noteiktu procentuālo vērtību no ierakstiem, kas atrodas klauzulas ORDER BY norādītā diapazona augšā vai apakšā. Pieņemsim, ka vēlaties, lai mazākie 25 skolēni no nodarbības būtu mazākie 10 procenti:

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

Predikāts ASC norāda apakšējo vērtību atgriešanu. Vērtībai, kas ir aiz TOP, jābūt neparakstītam veselam skaitlim.

Top neietekmē to, vai vaicājums ir atjaunināms.

tabula

Tās tabulas nosaukums, no kuras tiek izgūti ieraksti.



Nepieciešama papildu palīdzība?

Vēlaties vairāk opciju?

Izpētiet abonementa priekšrocības, pārlūkojiet apmācības kursus, uzziniet, kā aizsargāt ierīci un veikt citas darbības.

Kopienas palīdz uzdot jautājumus un atbildēt uz tiem, sniegt atsauksmes, kā arī saņemt informāciju no ekspertiem ar bagātīgām zināšanām.

Vai šī informācija bija noderīga?

Cik lielā mērā esat apmierināts ar valodas kvalitāti?
Kas ietekmēja jūsu pieredzi?
Nospiežot Iesniegt, jūsu atsauksmes tiks izmantotas Microsoft produktu un pakalpojumu uzlabošanai. Jūsu IT administrators varēs vākt šos datus. Paziņojums par konfidencialitāti.

Paldies par jūsu atsauksmēm!

×