Nurodo su SQL užklausomis pasirinktus įra us.
Sintaksė
PASIRINKITE [VISI | DISTINCT | "DISTINCTROW" | [Viršus n [procentai]]]
IŠ lentelės
Sakinys SELECT, kuriame yra šios sąlygos, turi šias dalis:
Dalis |
Aprašas |
ALL |
Prielaida, jei neįtraukiate vienos iš šių preatų. "Microsoft Access" duomenų bazės modulis pažymi visus duomenis, atitinkančius SQL sakinio sąlygas. Toliau pateikti du pavyzdžiai yra lygiaverčiai ir grąžina visus duomenis iš lentelės darbuotojai:
|
DISTINCT |
Praleidžia duomenis, turinčius pasirinktų laukų pasikartojančius duomenis. Kad būtų galima įtraukti į užklausos rezultatus, kiekvienos lauko, pateikto sakinyje SELECT, reikšmės turi būti unikalios. Pvz., keli darbuotojai, pateikti lentelėje darbuotojai, gali turėti tą patį pavardę. Jei dviejuose įrašuose lauke LastName yra Smithas, šis SQL sakinys pateikia tik vieną įrašą, kuriame yra "Smith":
Jei praleisite DISTINCT, ši užklausa pateiks ir Smith įrašą. Jei sąlygoje SELECT yra daugiau nei vienas laukas, visų laukų reikšmių derinys turi būti unikalus konkretaus įrašo, įtraukto į rezultatus, derinys. Užklausos, kuri naudoja DISTINCT, išvestis nėra atnaujinama ir neatspindi vėlesnių kitų vartotojų atliktų pasikeitimų. |
DISTINCTROW |
Praleidžia duomenis, pagrįstus visais pasikartojančiais įrašais, o ne tik dubliuojamais laukais. Pavyzdžiui, galite sukurti užklausą, kuri į lauką CustomerID sujungia lenteles Klientai ir užsakymai. Lentelėje Klientai yra ne pasikartojančių CustomerID laukų, tačiau lentelė užsakymai daro, nes kiekvienas klientas gali turėti daug užsakymų. Šiame SQL sakinyje rodoma, kaip galite naudoti "DISTINCTROW", jei norite pateikti sąrašą įmonių, kurios turi bent vieną užsakymą, bet be išsamios informacijos apie šiuos užsakymus:
Jei praleisite DISTINCTROW, ši užklausa sukuria kelias eilutes kiekvienai įmonei, kuri turi daugiau nei vieną tvarką. DISTINCTROW veikia tik tada, kai pasirenkate laukus iš kai kurių, bet ne visų, užklausoje naudojamų lentelių. "DISTINCTROW" nepaisoma, jei jūsų užklausoje yra tik viena lentelė arba iš visų lentelių išvesti laukai. |
TOP n [procentai] |
Grąžina tam tikrą skaičių duomenų, kurie patenka į intervalo, nurodyto pagal sąlygą ORDER BY, viršuje arba apačioje. Tarkime, kad norite, kad 25 geriausių studentų, turinčių 1994 klasę, vardai:
Jei neįtrauksite pagal sąlygą ORDER BY, užklausa pateiks lentelės, kurioje atitinka sąlygą WHERE, savavališką 25 įrašų rinkinį. VIRŠUTINIS prepas nesirinkite tarp lygių reikšmių. Ankstesniame pavyzdyje, jei dvidešimt penktoji ir dvidešimt šeštasis aukščiausio lygio taškų vidurkiai sutampa, užklausa pateiks 26 įrašą. Taip pat galite naudoti rezervuotąjį "Word", kad grąžintumėte tam tikrą dalį įrašo, kuris patenka į intervalo, nurodyto pagal sąlygą ORDER BY, viršuje arba apačioje. Tarkime, kad vietoj 25 geriausių studentų norite, kad būtų 10 procentų iš klasės:
Programa ASC nurodo, kad yra grąžinamos mažiausios reikšmės. Reikšmė, kuri seka po viršų, turi būti nepasirašytas sveikasis skaičius. Viršus neturi įtakos, ar užklausa atnaujinama. |
lentelė |
Lentelės, iš kurios nuskaitomi įrašai, pavadinimas. |