Logige sisse Microsofti kontoga
Logige sisse või looge konto.
Tere!
Valige mõni muu konto.
Teil on mitu kontot
Valige konto, millega soovite sisse logida.
Predikaadid ALL, DISTINCT, DISTINCTROW, TOP

Määrab SQL-päringutega valitud kirjed.

Süntaks

SELECT [KÕIK | DISTINCT | DISTINCTROW | [TOP n [PERCENT]]]
FROM-tabel

Neid predikaate sisaldav SELECT-lause koosneb järgmistest osadest.

Osa

Kirjeldus

ALL

Oletatakse, et kui te ei kaasa ühte predikaatidest. Microsoft Accessi andmebaasimootor valib kõik SQL-lause tingimustele vastavad kirjed. Järgmised kaks näidet on võrdväärsed ja tagastavad kõik tabeli Töötajad kirjed.

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

DISTINCT

Jätab välja kirjed, mis sisaldavad valitud väljadel duplikaatandmeid. Päringutulemitesse kaasamiseks peavad lauses SELECT loetletud väljade väärtused olema kordumatud. Näiteks võib mitmel tabelis Töötajad loetletud töötajal olla sama perekonnanimi. Kui väljal Perekonnanimi on kaks kirjet Smith, tagastab järgmine SQL-lause ainult ühe kirje, mis sisaldab sarja Smith:

SELECT DISTINCT LastName
FROM Employees;

Kui argument DISTINCT puudub, tagastab see päring mõlemad Smithi kirjed.

Kui SELECT-klausel sisaldab mitut välja, peab kõigi väljade väärtuste kombinatsioon olema kordumatu, et antud kirje kaasataks tulemitesse.

DISTINCT-funktsiooni kasutava päringu väljundit ei saa värskendada ega kajasta teiste kasutajate edaspidisi muudatusi.

DISTINCTROW

Jätab välja tervetel duplikaatkirjetel põhinevad andmed, mitte ainult duplikaatväljad. Näiteks saate luua päringu, mis ühendab välja KliendiID tabelid Kliendid ja Tellimused. Tabelis Kliendid pole duplikaatvälju CustomerID, kuid tabelis Tellimused võib olla mitu tellimust. Järgmine SQL-lause näitab, kuidas saate DISTINCTROW abil koostada nende ettevõtete loendi, millel on vähemalt üks tellimus, kuid mis ei sisalda nende tellimuste kohta üksikasju.

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

Kui jätate funktsiooni DISTINCTROW välja, loob see päring iga ettevõtte jaoks mitu rida, millel on rohkem kui üks tellimus.

DISTINCTROW mõjub ainult siis, kui valite välju päringus kasutatavatest tabelitest, kuid mitte kõigist. DISTINCTROW-d ignoreeritakse, kui teie päring sisaldab ainult ühte tabelit või väljastate väljad kõigist tabelitest.

TOP n [PERCENT]

Tagastab teatud arvu kirjeid, mis jäävad klausliga ORDER BY määratud vahemiku üla- või allserva. Oletagem, et soovite 1994. aasta klassi esimese 25 õpilase nimesid:

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

Kui te klauslit ORDER BY ei kaasa, tagastab päring õppurite tabelist meelevaldse 25 kirjega kogumi, mis vastab WHERE-klauslile.

TOP-predikaat ei vali võrdsete väärtuste vahel. Kui eelmises näites on kahekümne viies ja kahekümne kuues kõrgeima hinnete keskmine sama, tagastab päring 26 kirjet.

Reserveeritud sõna PERCENT saate kasutada ka teatud protsendi kirjete tagastamiseks, mis jäävad klausliga ORDER BY määratud vahemiku üla- või allserva. Oletagem, et 25 parima õppuri asemel soovite, et alumine 10% klassist:

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

ASC predikaat määrab alumise väärtuse tagastamise. TOP-ile järgnev väärtus peab olema allkirjastamata täisarv.

TOP ei mõjuta seda, kas päring on värskendatav või mitte.

tabel

Selle tabeli nimi, kust kirjed alla laaditakse.



Kas vajate veel abi?

Kas soovite rohkem valikuvariante?

Siin saate tutvuda tellimusega kaasnevate eelistega, sirvida koolituskursusi, õppida seadet kaitsma ja teha veel palju muud.

Kogukonnad aitavad teil küsimusi esitada ja neile vastuseid saada, anda tagasisidet ja saada nõu rikkalike teadmistega asjatundjatelt.

Kas sellest teabest oli abi?

Kui rahul te keelekvaliteediga olete?
Mis mõjutas teie hinnangut?
Kui klõpsate nuppu Edasta, kasutatakse teie tagasisidet Microsofti toodete ja teenuste täiustamiseks. IT-administraator saab neid andmeid koguda. Privaatsusavaldus.

Täname tagasiside eest!

×