Klauzule WHERE

Určuje, které záznamy z tabulek uvedených v klauzuli FROM jsou ovlivněny příkazem SELECT, UPDATE nebo DELETE.

Syntaxe

SELECT seznam_polí
FROM tabulkový_výraz
WHERE kritéria

Příkaz SELECT obsahující klauzuli WHERE má následující části:

Část

Popis

seznam_polí

Název pole nebo polí, která mají být načtena, a dále Alias (SQL) názvů polí, výběrové predikáty (ALL, DISTINCT, DISTINCTROW či TOP) nebo další možnosti příkazu SELECT.

tabulkový_výraz

Název tabulky nebo tabulek, ze kterých jsou data načtena.

kritéria

Výraz, kterému musí záznamy vyhovovat, aby byly zahrnuty do výsledků dotazu.


Poznámky

Databázový stroj Microsoft Access vybere záznamy, které vyhovují podmínkám uvedeným v klauzuli WHERE. Pokud klauzuli WHERE neurčíte, dotaz vrátí všechny řádky tabulky. Pokud v dotazu určíte více tabulek a nepoužijete klauzuli WHERE nebo JOIN, bude výsledkem Kartézský součin tabulek.

Klauzule WHERE je nepovinná, pokud je však použita, musí následovat za klauzulí FROM. Je například možné vybrat všechny zaměstnance obchodního oddělení (WHERE Dept = 'Sales') nebo všechny zákazníky ve věku od 18 do 30 let (WHERE Age Between 18 And 30).

Pokud k operacím spojení více tabulek nepoužijete klauzuli JOIN, nebude možné výsledný objekt Recordset aktualizovat.

Klauzule WHERE má podobnou funkci jako klauzule HAVING. Klauzule WHERE určuje, které záznamy jsou vybrány. Podobně je po seskupení záznamů pomocí klauzule GROUP BY na základě klauzule HAVING určeno, které záznamy budou zobrazeny.

Pomocí klauzule WHERE je možné vyloučit záznamy, které nemají být seskupeny klauzulí GROUP BY.

K určení, které záznamy mají být příkazem SQL vráceny, lze použít různé výrazy. V následujícím příkladu jsou například příkazem SQL vybráni zaměstnanci, jejichž plat je větší než 21 000 Kč:

SELECT Příjmení, ZákladníPlat FROM Zaměstnanci WHERE ZákladníPlat > 21000;

Klauzule WHERE může obsahovat až 40 výrazů spojených logickými operátory, například operátory And a Or.

Zadáváte-li název pole, který obsahuje mezery nebo interpunkční znaménka, uveďte název v hranatých závorkách ([ ]). Tabulka informací o zákaznících může obsahovat například údaje o konkrétních zákaznících:

SELECT [Oblíbená restaurace zákazníka]

Při zadávání argumentu kritéria musejí být Literál typu datum v americkém formátu, a to i v případě, že nepoužíváte americkou verzi databázového stroje Microsoft Access. Datum 10. května 1996 se například ve Velké Británii zapisuje jako 10/5/96 a v USA jako 5/10/96. Datové literály je třeba uvádět se značkou čísla (#), jak je uvedeno v následujících příkladech.

Chcete-li najít záznamy s datem 10. května 1996 v britské databázi, je třeba použít následující příkaz SQL:

SELECT * FROM Objednávky WHERE DatumOdeslání = #5/10/96#;

Případně můžete použít funkci DateValue, která zohledňuje mezinárodní nastavení zavedená v systému Microsoft Windows®. Následující kód je například možné použít v USA:

SELECT * FROM Objednávky WHERE DatumOdeslání = DateValue('5/10/96');

A tento kód ve Velké Británii:

SELECT * FROM Objednávky WHERE DatumOdeslání = DateValue('10/5/96');

Poznámka : Pokud je sloupec, na který odkazuje řetězec kritérií, typu GUID, je ve výrazu kritérií použita mírně odlišná syntaxe:

WHERE ReplicaID = {GUID {12345678-90AB-CDEF-1234-567890ABCDEF}}

Použijte vnořené složené závorky a pomlčky, jak je znázorněno v příkladu.



Sdílení Facebook Facebook Twitter Twitter E-mail E-mail

Byly tyto informace užitečné?

Výborně! Je ještě něco dalšího, co byste nám chtěli dát vědět?

Jak bychom ho mohli vylepšit?

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

×