Přihlásit se pomocí účtu Microsoft
Přihlaste se nebo si vytvořte účet.
Dobrý den,
Vyberte jiný účet.
Máte více účtů.
Zvolte účet, pomocí kterého se chcete přihlásit.
Predikáty ALL, DISTINCT, DISTINCTROW, TOP

Určuje záznamy vybrané pomocí dotazů SQL.

Syntaxe

SELECT [ALL | DISTINCT | DISTINCTROW | [TOP n [PERCENT]]]
Tabulka FROM

Příkaz SELECT obsahující tyto predikáty má následující části:

Část

Popis

ALL

Předpokládá se, pokud nezahrnete jeden z predikátů. Databázový stroj Microsoft Access vybere všechny záznamy, které splňují podmínky v příkazu SQL. Následující dva příklady jsou ekvivalentní a vrátí všechny záznamy z tabulky Employees:

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

DISTINCT

Vynechá záznamy, které obsahují duplicitní data ve vybraných polích. Aby bylo možné zahrnout do výsledků dotazu, musí být hodnoty pro každé pole uvedené v příkazu SELECT jedinečné. Například několik zaměstnanců uvedených v tabulce Zaměstnanci může mít stejné příjmení. Pokud dva záznamy obsahují v poli Příjmení Smitha, vrátí následující příkaz SQL pouze jeden záznam, který obsahuje Smith:

SELECT DISTINCT LastName
FROM Employees;

Pokud funkci DISTINCT vynecháte, vrátí tento dotaz oba záznamy Smithe.

Pokud klauzule SELECT obsahuje více než jedno pole, musí být kombinace hodnot ze všech polí jedinečná, aby se daný záznam zahrnul do výsledků.

Výstup dotazu, který používá distinct, není aktualizovatelný a neodráží následné změny provedené jinými uživateli.

DISTINCTROW

Vynechá data založená na celých duplicitních záznamech, ne jenom na duplicitních polích. Můžete například vytvořit dotaz, který spojí tabulky Customers (Zákazníci) a Orders (Objednávky) v poli CustomerID (ID zákazníka). Tabulka Zákazníci neobsahuje žádná duplicitní pole CustomerID, ale tabulka Orders ano, protože každý zákazník může mít mnoho objednávek. Následující příkaz SQL ukazuje, jak můžete pomocí funkce DISTINCTROW vytvořit seznam společností, které mají alespoň jednu objednávku, ale bez jakýchkoli podrobností o těchto objednávkách:

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

Pokud nástroj DISTINCTROW vynecháte, vytvoří tento dotaz více řádků pro každou společnost, která má více než jednu objednávku.

Funkce DISTINCTROW má vliv pouze v případě, že vyberete pole z některých, ale ne všech tabulek použitých v dotazu. Funkce DISTINCTROW se ignoruje, pokud dotaz obsahuje pouze jednu tabulku nebo pokud je výstupem polí ze všech tabulek.

HORNÍ n [PROCENTO]

Vrátí určitý počet záznamů, které spadají do horní nebo dolní části rozsahu určeného klauzulí ORDER BY. Předpokládejme, že chcete jména 25 nejlepších studentů ze třídy v roce 1994:

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

Pokud nezadáte klauzuli ORDER BY, dotaz vrátí libovolnou sadu 25 záznamů z tabulky Students, které splňují klauzuli WHERE.

Predikát TOP si nevybírejte mezi stejnými hodnotami. V předchozím příkladu platí, že pokud je průměr dvacátého pátého a dvacátého šestého nejvyššího stupně stejný, vrátí dotaz 26 záznamů.

Pomocí rezervovaného slova PERCENT můžete také vrátit určité procento záznamů, které spadají do horní nebo dolní části rozsahu určeného klauzulí ORDER BY. Předpokládejme, že místo prvních 25 studentů potřebujete posledních 10 procent předmětu:

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

Predikát ASC určuje návrat nejnižších hodnot. Hodnota za hodnotou TOP musí být celé číslo bez znaménka.

FUNKCE TOP nemá vliv na to, jestli je dotaz aktualizovatelný.

tabulka

Název tabulky, ze které jsou načítány záznamy.



Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?
Po stisknutí tlačítka pro odeslání se vaše zpětná vazba použije k vylepšování produktů a služeb Microsoftu. Váš správce IT bude moci tato data shromažďovat. Prohlášení o zásadách ochrany osobních údajů.

Děkujeme vám za zpětnou vazbu.

×