Predikaadid ALL, DISTINCT, DISTINCTROW, TOP

Predikaadid ALL, DISTINCT, DISTINCTROW, TOP

Märkus.: Soovime pakkuda teie keeles kõige ajakohasemat spikrisisu niipea kui võimalik. See leht on tõlgitud automaatselt ja sellel võib leiduda grammatikavigu või ebatäpsusi. Tahame, et sellest sisust oleks teile abi. Palun märkige selle lehe allservas, kas sellest teabest oli teile kasu või mitte. Soovi korral saab ingliskeelset artiklit lugeda siit.

Saate määrata SQL-päringud koos valitud kirjed.

Süntaks

VALIGE [KÕIK | ERINEVATE | DISTINCTROW | Omaga [ülemised n [%]]]
TABELIST

Nende predicates sisaldav lause SELECT koosneb järgmistest osadest:

Osa

Kirjeldus

ALL

Eeldatakse, et kui te ei sisalda mõnda soovitud predicates. Microsoft Accessi andmebaasimootor valib kõik kirjed, mis vastavad tingimustele SQL-lause. Järgmistes näidetes on võrdväärsed ja kõigi kirjete tabelist töötajad:

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

DISTINCT

Jätab kirjed, mis sisaldavad duplikaatandmete valitud väljad. Päringu tulemused kaasatakse väärtused iga välja loendis SELECT-lause peab olema kordumatu. Mitme töötaja töötajate tabelis võib olla sama perekonnanimega. Kui kahe kirje soe väljal perekonnanimi, tagastab funktsioon järgmise SQL-lause ainult üks kirje, mis sisaldab soe:

SELECT DISTINCT LastName
FROM Employees;

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

Kui SELECT-klauslis sisaldab rohkem kui üks väli, kõigi väljade väärtuste kombinatsioon peab olema kordumatu antud kirje tulemite kaasamiseks.

Päringu, mis kasutab DISTINCT väljund pole värskendatav ja ei kajasta teiste kasutajate tehtud muudatused.

DISTINCTROW

Jätab andmete põhjal kogu duplikaatkirjete, mitte ainult duplikaatvälju. Näiteks võib luua päring, mis ühendab tellijaid välja tabelite kliendid ja tellimused. Tabel tellijad sisaldab pole tellijaid duplikaatvälju, kuid tabeli Tellimused ei, kuna iga kliendi võib olla mitu tellimust. Järgmine SQL-lause näitab, kuidas saate kasutada DISTINCTROW ettevõtetes, millel on vähemalt üks tellimus, kuid mis tahes üksikasjade tellimusi ilma loendi koostamiseks:

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

Kui argument DISTINCTROW, selle päringu toodab mitu rida iga ettevõte, mis on rohkem kui üks järjestuses.

DISTINCTROW mõjutab ainult siis, kui valite väljad teatud, kuid ei kõik tabelid, mis on päringus kasutatav. DISTINCTROW ignoreeritakse, kui päring sisaldab ainult ühte tabelit või kui väljastate kõiki tabeli välju.

ÜLEMISED n [%]

Tagastab ülaosas kirjete arv või klausel ORDER BY määratud vahemiku lõppu. Oletagem, et soovite 1994 klassi 25 ülemisel õpilaste nimed:

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

Kui kaasate klausel ORDER BY, tagastab päring suvalise komplekti 25 kirjete vastavad WHERE-klausli õppurite tabelist.

ÜLEMISE predikaat pole valida võrdseid väärtusi. Kui soovitud kahekümne viies ja kakskümmend-kuuenda kõrgeim hinde punkti keskmiste on samad, eelmises näites tagastab päringu 26 kirjed.

Samuti saate PROTSENDIMÄÄRANA reserveeritud sõna protsendimäära kirjed, mis jäävad ülemises või alumises klausel ORDER BY määratud vahemiku tagastamiseks. Oletame, et see, et asemel top 25 õppurid, soovite all 10-protsendilist klassi:

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

ASC predikaat määrab tagastamine alt väärtused. ÜLEMINE järgneva väärtus peab olema allkirjastamata täisarv.

Kas päring on värskendatav ülemine ei mõjuta.

tabel

Selle tabeli nimi, kust kirjed alla laaditakse.



Täiendage Office'i kasutamise oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×