Предложение 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: WHERE позволяет выбрать записи, а HAVING определяет отображаемые записи после группировки с помощью предложения GROUP BY.

Предложение WHERE можно использовать для исключения записей, которые не требуется группировать с помощью предложения GROUP BY.

С помощью различных выражений можно определить, какие записи будут возвращаться инструкцией SQL. Например, следующая инструкция SQL выбирает всех сотрудников, зарплата которых превышает 21 000 рублей:

SELECT LastName, Salary FROM Employees WHERE Salary > 21000;

Предложение WHERE может содержать до 40 выражений, связанных логическими операторами, такими как AND и OR.

При вводе имени поля с пробелами или знаками препинания следует заключить его в квадратные скобки ([ ]). Например, таблица сведений о клиентах может содержать сведения о конкретных заказчиках:

SELECT [Customer’s Favorite Restarant]

В аргументе условия литералы даты нужно указывать в формате США, даже если вы используете СУБД Microsoft Access на другом языке. Например, 10 мая 1996 г. нужно указывать как 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
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×