Klauzule WHERE

Určuje, pro které záznamy z tabulek uvedených v klauzuli FROM platí příkaz SELECT, UPDATE nebo DELETE.

Syntaxe

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

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

Část

Popis

seznam_polí

Název pole nebo polí, která se mají načíst, a dále veškeré aliasy názvů polí, výběrové predikáty (ALL, DISTINCT, DISTINCTROW nebo TOP) nebo jiné možnosti příkazu SELECT

tabulkový_výraz

Název tabulky nebo názvy tabulek, ze kterých se data načítají.

kritéria

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


Poznámky

Databázový stroj Microsoft Access vybere záznamy, které splňují podmínky uvedené v klauzuli WHERE. Pokud klauzuli WHERE nezadáte, vrátí dotaz všechny řádky z tabulky. Pokud v dotazu zadáte více než jednu tabulku a nezadáte klauzuli WHERE nebo klauzuli JOIN , dotaz vygeneruje kartézský součin tabulek.

Klauzule WHERE je nepovinná, ale pokud je uvedena, musí následovat za klauzulí FROM. Můžete třeba vybrat všechny zaměstnance z oddělení prodeje (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 SQL operacím spojení několika tabulek nepoužijete klauzuli JOIN, nebude výsledný objekt Recordset aktualizovatelný.

Klauzule WHERE se podobá klauzuli HAVING. Klauzule WHERE určuje, které záznamy se mají vybrat. Když už jsou záznamy seskupené pomocí klauzule GROUP BY, klauzule HAVING určí, které záznamy se mají zobrazit.

Pomocí klauzule WHERE vyloučíte záznamy, které nemá klauzule GROUP BY seskupovat.

Které záznamy má příkaz SQL vrátit, určíte pomocí různých výrazů. Například následující příkaz SQL vybere všechny zaměstnance s platy většími než 21 000:

SELECT LastName, Salary FROM Employees WHERE Salary > 21000;

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

Když zadáváte název pole obsahující mezeru nebo interpunkci, uzavřete ho do hranatých závorek ([ ]). Třeba tabulka s informacemi o zákaznících může obsahovat informace o určitých zákaznících:

SELECT [Customer’s Favorite Restarant]

Když zadáváte argument kritéria, literály typu datum musí být v americkém formátu, i když nepoužíváte americkou verzi databázového stroje Microsoft Access. Například datum 10. května 1996 se ve Spojeném království píše jako 10/5/96, ale ve Spojených státech jako 5/10/96. Uzavřete literály typu datum mezi symboly čísla (#), jak ukazují následující příklady.

Když chcete v databázi ve Spojeném království najít záznamy s datem 10. května 1996, musíte použít tento příkaz SQL:

SELECT * FROM Orders WHERE ShippedDate = #5/10/96#;

Můžete také použít funkci DateValue, která se řídí mezinárodním nastavením z Microsoft Windows®. Například ve Spojených státech byste použili tento kód:

SELECT * FROM Orders WHERE ShippedDate = DateValue('5/10/96');

A ve Spojeném království byste použili tento kód:

SELECT * FROM Orders WHERE ShippedDate = DateValue('10/5/96');

Poznámka: Pokud sloupec, na který se odkazuje v řetězci kritérií, je typu GUID, používá se u výrazu kritérií trochu jiná syntaxe:

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

Používejte vnořené složené závorky a pomlčky naznačeným způsobem.



Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

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

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×