Predikáty ALL, DISTINCT, DISTINCTROW, TOP

Predikáty ALL, DISTINCT, DISTINCTROW, TOP

Poznámka: Radi by sme vám čo najrýchlejšie poskytovali najaktuálnejší obsah Pomocníka vo vašom vlastnom jazyku. Táto stránka bola preložená automaticky a môže obsahovať gramatické chyby alebo nepresnosti. Naším cieľom je, aby bol tento obsah pre vás užitočný. Dali by ste nám v dolnej časti tejto stránky vedieť, či boli pre vás tieto informácie užitočné? Tu nájdete anglický článok pre jednoduchú referenciu.

Určuje záznamy s dotazmi SQL.

Syntax

VYBERTE POLOŽKU [VŠETKY | ODLIŠNÉ | DISTINCTROW | [TOP n [PERCENT]]]
z tabuľky

Select, ktorý obsahuje tieto predikáty obsahuje tieto časti:

Časť

Popis

ALL

Predpokladá, že ak nebude obsahovať jeden predikáty. Databázový stroj programu Microsoft Access vyberie všetky záznamy, ktoré spĺňajú podmienky v príkaze SQL. Nasledujúce dva príklady sú rovnaké a vrátenie všetkých záznamov z tabuľky zamestnanci:

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

DISTINCT

Vynechá záznamy, ktoré obsahujú duplicitných údajov vo vybratých polí. Ak chcete zahrnúť vo výsledkoch dotazu, hodnoty pre každé pole uvedené v príkaze SELECT musí byť jedinečná. Napríklad, viacerí zamestnanci uvedení v tabuľke zamestnanci môžu mať rovnaké priezvisko. Ak Kováč v poli priezvisko obsahujú dva záznamy, nasledujúci príkaz SQL vráti iba jeden záznam, ktorý obsahuje Smith:

SELECT DISTINCT LastName
FROM Employees;

Ak vynecháte jedinečné, tento dotaz vráti obidva záznamy Smith.

Ak klauzula SELECT obsahuje viac ako jedno pole, kombinácia hodnôt zo všetkých polí musí byť jedinečná pre daný záznam, ktoré sa majú zahrnúť výsledky.

Výstup dotazu, ktorý používa jedinečné sa nedá aktualizovať a zanedbanie nasledujúce zmeny vykonané inými používateľmi.

DISTINCTROW

Vynechá údaje založené na celých duplicitných záznamoch, nielen na duplicitných poliach. Napríklad mohli vytvoriť dotaz, ktorý spája tabuľky Zákazníci a objednávky v poli Identifikácia zákazníka. Tabuľka Zákazníci neobsahuje žiadne duplicitné polia Identifikácia zákazníka, ale na tabuľku objednávky funguje, pretože každý zákazník môže mať veľa objednávok. Nasledujúci príkaz SQL ukazuje, ako môžete použiť príkaz DISTINCTROW na vytvorenie zoznamu spoločnosti, ktoré majú aspoň jednu objednávku, ale bez podrobností o tieto pokyny:

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

Ak vynecháte DISTINCTROW, tento dotaz vypočíta viaceré riadky pre každú spoločnosť, ktorá obsahuje viac než jednu objednávku.

DISTINCTROW nemá vplyv len vtedy, keď vyberiete polia z niektorých, ale nie všetkých tabuliek použitých v dotaze. DISTINCTROW sa ignoruje, ak dotaz obsahuje iba jednu tabuľku, alebo ak vykonávate výstup polí zo všetkých tabuliek.

HORNÝ n [PERCENT]

Vráti určitý počet záznamov, ktoré spadajú do horného alebo dolného rozpätia určeného klauzulou ORDER BY. Predpokladajme, že chcete názvy hornom 25 študentov z triedy 1994:

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

Ak neobsahujú žiadne Klauzula ORDER BY, dotaz vráti ľubovoľnú množinu 25 záznamov z tabuľky študenti, ktoré vyhovujú klauzule WHERE.

Predikát TOP nevyberá medzi rovnaké hodnoty. V predchádzajúcom príklade, ak 20 piaty a šiesty 20 najvyššie priemery triedy bod sú rovnaké, dotaz vráti 26 záznamov.

PERCENTUÁLNE vyhradené slovo môžete použiť aj na vrátenie určité percento záznamov, ktoré sa nachádzajú v hornej alebo dolnej časti rozsahu určeného klauzulou ORDER BY. Predpokladajme, že namiesto najlepších 25 študentov chcete dolnej 10 percent ročníka:

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

Predikát ASC určuje návrat najnižšie hodnoty. Hodnota, ktorá nasleduje hornej musí byť celé číslo bez znamienka.

HORNEJ neovplyvňuje, či dotaz je spojenia.

tabuľka

Názov tabuľky, z ktorej sú načítané záznamy.



Rozšírte svoje zručnosti práce s balíkom Office
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pridajte sa k insiderom pre Office

Boli tieto informácie užitočné?

Ďakujeme za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×