Applies ToAccess для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Это статья из цикла статей о языке SQL для Access. В ней описано предложение SELECT и приведены примеры, поясняющие различные методы, используемые при его составлении.

Общие сведения о языке SQL для Access см. в статье Access SQL. Основные понятия, лексика и синтаксис.

В этой статье

Выбор полей: предложение SELECT

Инструкция SELECT обычно начинается с предложения SELECT. В предложении SELECT указываются имена полей, которые содержат данные, используемые в запросе. Вместо полей или вместе с ними также можно использовать выражение. В качестве поля можно даже использовать ещё одну инструкцию SELECT — это называется вложенным запросом.

Предположим, что вы хотите узнать телефонные номера клиентов. Пусть поле, которое содержит телефонные номера клиентов, называется txtCustPhone, тогда предложение SELECT будет выглядеть следующим образом:

SELECT [txtCustomerPhone]

Имя можно заключить в квадратные скобки. Если имя не содержит пробелов или специальных знаков (например, знаков препинания), скобки можно не использовать. Если имя содержит пробелы или специальные знаки, скобки необходимы.

Совет: Имя, содержащее пробелы, проще читать и может сэкономить время при разработке форм и отчетов, но в конечном итоге может привести к тому, что при написании инструкций SQL вы будете вводить больше. Этот факт следует учитывать при присвоении имен объектам в базе данных Access.

Если инструкция SQL содержит несколько полей с одинаковыми именами, в предложении SELECT к имени каждого поля необходимо добавить имя соответствующего источника данных. В качестве имени источника данных нужно использовать то же имя, что и в предложении FROM.

Выбор всех полей

Чтобы включить в запрос все поля из источника данных, можно указать их все по отдельности в предложении SELECT или использовать подстановочный знак — звездочку (*). Если используется звездочка, при выполнении запроса Access определяет, какие поля содержит источник данных, и включает все эти поля в запрос. Это позволяет обеспечить актуальность запроса в случае добавления в источник данных новых полей.

В инструкции SQL звездочку можно использовать и с несколькими источниками данных. В этом случае вместе с ней необходимо указать имя источника данных, чтобы приложение Access могло определить, из какого источника читать поля.

Предположим, например, что нужно выбрать все поля из таблицы Orders и только адрес электронной почты из таблицы Contacts. Предложение SELECT может выглядеть следующим образом:

SELECT Orders.*, Contacts.[E-mail Address]

Примечание: За использованием звездочки нужно внимательно следить. Если позднее в источник данных будут добавлены поля, которые использовать не планировалось, результаты запроса могут оказаться не такими, как ожидалось.

Выбор отдельных значений

Если вы знаете, что инструкция выбирает избыточные данные, а вам необходимы лишь отдельные значения, в предложении SELECT можно использовать ключевое слово DISTINCT. Предположим, например, что каждый клиент представляет несколько разных служб, в некоторых из которых используется один и тот же телефонный номер. Чтобы каждый телефонный номер был представлен только один раз, предложение SELECT должно выглядеть следующим образом:

SELECT DISTINCT [txtCustomerPhone]

Использование псевдонимов полей или выражений: ключевое слово AS

Чтобы изменить подпись поля в режиме таблицы, в предложении SELECT следует использовать ключевое слово AS и псевдоним поля. Псевдоним поля — это имя, которое назначается полю в запросе, чтобы результаты было удобнее читать. Например, при выборе данных из поля txtCustPhone, которое содержит телефонные номера клиентов, можно улучшить удобочитаемость результатов с помощью псевдонима поля в предложении SELECT следующим образом:

SELECT [txtCustPhone] AS [Customer Phone]

Примечание: Псевдоним поля необходимо использовать, если в предложении SELECT используется выражение.

Использование выражения при выборе

Иногда необходимо вывести результаты вычислений, основанных на выбираемых данных, или извлечь лишь часть данных поля. Предположим, например, что необходимо возвратить год рождения для всех клиентов, используя данные поля BirthDate. Предложение SELECT может выглядеть следующим образом:

SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]

Это выражение содержит функцию DatePart и два аргумента: : "yyyy" (константа) и [BirthDate] (идентификатор).

В качестве поля можно использовать любое допустимое выражение, если, принимая одно значение, оно возвращает также одно значение.

К началу страницы

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.