Nurodo įrašus, pasirinktus naudojant SQL užklausas.
Sintaksė
SELECT [ALL | TIKSLUS | DISTINCTROW | [TOP n [PERCENT]]]
FROM lentelėSakinys SELECT su šiomis taisyklės nuostatomis sudarytas iš šių dalių:
Dalis |
Aprašas |
ALL |
Laikoma, jei neįtraukiate vienos iš taisyklės sąsainių. "Microsoft Access" duomenų bazės modulis pasirenka visus įrašus, kurie atitinka SQL sakinio sąlygas. Šie du pavyzdžiai yra lygiaverčiai ir pateikia visus įrašus iš lentelės Darbuotojai:
|
DISTINCT |
Praleisti įrašus, kuriuose yra pasikartojančių duomenų pasirinktuose laukuose. Norint įtraukti į užklausos rezultatus, kiekvieno lauko, nurodyto sakinyje SELECT, reikšmės turi būti unikalios. Pavyzdžiui, keli darbuotojai, išvardyti lentelėje Darbuotojai, gali turėti tą pačią pavardę. Jei dviejų įrašų lauke Pavardė yra Smith, šis SQL sakinys pateikia tik vieną įrašą, kuriame yra Smith:
Jei distinct praimsite, ši užklausa grąžins abu Smith įrašus. Jei sąlygoje SELECT yra daugiau nei vienas laukas, visų laukų reikšmių derinys turi būti unikalus, kad įrašas būtų įtrauktas į rezultatus. Užklausos, kuri naudoja DISTINCT, išvestis yra neatnaujinama ir neatspindi paskesnių kitų vartotojų atliktų pakeitimų. |
DISTINCTROW |
Praleidžia duomenis pagal visus pasikartojančius įrašus, ne tik pasikartojančius laukus. Pavyzdžiui, galite sukurti užklausą, kuri sujungia lenteles Klientai ir Užsakymai lauke CustomerID. Lentelėje Klientai nėra besidubliuojančių CustomerID laukų, bet užsakymų lentelėje nėra, nes kiekvienas klientas gali turėti daug užsakymų. Šis SQL sakinys rodo, kaip galite naudoti DISTINCTROW įmonių, turinčių bent vieną užsakymą, bet neturinčių išsamios informacijos apie šiuos užsakymus, sąrašui sudaryti:
Jei distinctROW nenurodote, ši užklausa sukuria kelias eilutes kiekvienai įmonei, kuri turi daugiau nei vieną užsakymą. 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 jei pateikiate laukus iš visų lentelių. |
TOP n [PERCENT] |
Pateikia tam tikrą skaičių įrašų, kurie yra diapazono, nurodyto sąlygoje ORDER BY, viršuje arba apačioje. Tarkime, kad norite 1994 m. klasės 25 geriausių studentų vardų:
Jei neįtrauksite sąlygos ORDER BY, užklausa pateiks savavališką 25 įrašų rinkinį iš lentelės Studentai, kuris atitinka sąlygą WHERE. TAISYKLĖS SĄLYGA TOP nesirenka iš lygių reikšmių. Ankstesniame pavyzdyje, jei dvidešimt penktos ir dvidešimt šeštos įvertinimų balų vidurkiai yra tokie patys, užklausa pateiks 26 įrašus. Taip pat galite naudoti rezervuotą žodį PERCENT, kad grąžintumėte tam tikrą procentą įrašų, kurie yra diapazono, nurodyto sąlygoje ORDER BY, viršuje arba apačioje. Tarkime, kad vietoj 25 geriausių mokinių norite 10 procentų apatinės klasės:
ASC taisyklės sąlyga nurodo apatinių reikšmių grąžinimą. Reikšmė, esanti po TOP, turi būti nepasirašytas sveikasis skaičius. FUNKCIJA TOP neturi įtakos, ar užklausa gali būti naujinama. |
lentelė |
Lentelės, iš kurios nuskaitomi įrašai, pavadinimas. |