Клауза WHERE

Указва кои записи от таблиците, изброени в клаузата FROM, са засегнати от команда SELECT, UPDATE или DELETE.

Синтаксис

SELECT списък_полета
FROM израз_за_таблици
WHERE критерии

Командата SELECT, съдържаща клауза WHERE, има следните части:

Част

Описание

списък_полета

Името на полето или полетата, които искате да бъдат извлечени, заедно с всички псевдоними за име на поле, предикати за селекция (ALL, DISTINCT, DISTINCTROW или TOP) или други опции на командата SELECT.

израз_за_таблици

Името на таблицата или таблиците, от които се извличат данните.

критерии

израз, на който записите трябва да отговарят, за да бъдат включени в резултатите на заявката.


Забележки

Ядрото на базата данни на Microsoft Access избира записите, които отговарят на условията, посочени в клаузата WHERE. Ако не зададете клауза WHERE, заявката връща всички редове от таблицата. Ако сте посочили повече от една таблица във вашата заявка и не сте включили клауза WHERE или клауза JOIN, заявката генерира декартово произведение на таблиците.

WHERE не е задължителна, но когато се включва, следва FROM. Например можете да изберете всички служители в отдела по продажби (WHERE Dept = 'Sales') или всички клиенти на възраст между 18 и 30 г. (WHERE Age Between 18 And 30).

Ако не използвате клауза JOIN, за да изпълните SQL операции за обединяване на няколко таблици, полученият обект Recordset няма да е обновяем.

Клаузата WHERE е подобна на клаузата HAVING, която определя кои записи да се изберат. По сходен начин, след като записите са групирани с GROUP BY, HAVING определя кои записи да се покажат:

Използвайте клаузата GROUP BY, за да премахнете записите, които не искате да групирате по клауза GROUP BY.

Използвайте различни изрази, за да определите кои записи да връща SQL командата. Например следната SQL команда избира всички служители, чиито заплати са над 21 000 лв:

SELECT LastName, Salary FROM Employees WHERE Salary > 21000;

Дадена клауза WHERE може да съдържа до 40 израза, свързани с логически оператори, например И и Или.

Когато въведете име на поле, което съдържа интервал или пунктуация, оградете името с квадратни скоби ([]). Например таблица с информация за клиенти може да включва информация за конкретни потребители:

SELECT [Customer’s Favorite Restarant]

Когато задавате аргумента критерии, литералите за дата трябва да бъдат във формат на САЩ, дори ако не използвате американската версия на ядрото на базата данни на Microsoft Access. Например 10 май 1996 г. се изписва като 10/5/96 в Обединеното кралство и 5/10/96 в Съединените щати. Не забравяйте да оградите вашите литерали за дата със знак диез (#), както е показано в следващите примери.

За да намерите записите с дата 10 май 1996 г. в база данни на Обединеното кралство, трябва да използвате следната SQL команда:

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

Можете също да използвате функцията DateValue, която взема предвид международните настройки, установени от Microsoft Windows®. Например използвайте този код за Съединените щати:

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

И използвайте този код за Обединеното кралство:

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

Забележка : Ако колоната, указана в низа на критериите, е от тип GUID, изразът за критериите използва малко по-различен синтаксис:

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

Не забравяйте да включите вложени скоби и тирета, както е показано.



Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×