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

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

В инструкции SELECT источники данных указываются в предложении FROM. Предложение FROM также может содержать операцию JOIN. Операция JOIN используется для сопоставления и объединения данных из двух источников данных, таких как две таблицы или таблицы и запроса.

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

В этой статье

Указание источников данных

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

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

FROM tblCustomer

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

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

Использование псевдонимов источников данных

Для обращения к таблице в инструкции SELECT можно использовать ее псевдоним, указав его в предложении FROM. Псевдоним таблицы — это имя, назначенное источнику данных в запросе при использовании выражения в качестве источника данных или для упрощения ввода и прочтения инструкции SQL. Такая возможность полезна, если имя источника данных слишком длинное или его трудно вводить, особенно если есть несколько полей с одинаковыми именами из разных таблиц.

Например, если необходимо выбрать данные из двух полей с именем ID, одно из которых содержится в таблице tblCustomer, а другое — в таблице tblOrder, предложение SELECT может выглядеть следующим образом:

SELECT [tblCustomer].[ID], [tblOrder].[ID]

Используя псевдонимы таблиц в предложении FROM, можно упростить ввод запроса. Предложение FROM с псевдонимами таблиц может выглядеть следующим образом:

FROM [tblCustomer] AS [C], [tblOrder] AS [O]

Эти псевдонимы таблиц можно использовать в предложении SELECT следующим образом:

SELECT [C].[ID], [O].[ID]

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

Объединение связанных данных

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

Для объединения данных из двух источников следует выполнить операцию объединения по общему полю. Если значения этого поля совпадают, данные записей в результатах запроса объединяются.

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

Предположим, например, что в запросе необходимо использовать данные из двух таблиц — tblCustomer и tblOrder. Обе таблицы содержат поле CustomerID, определяющее клиента. Каждая запись в таблице tblCustomer может иметь одну или несколько соответствующих записей в таблице tblOrder , а соответствующие значения определяются значениями в поле CustomerID.

Если вы хотите объединить таблицы таким образом, чтобы в запросе объединялись записи из этих таблиц за исключением тех записей, для которых отсутствуют соответствующие записи в одной из таблиц, предложение FROM может выглядеть следующим образом (разрыв строки добавлен ради удобства чтения):

FROM [tblCustomer] INNER JOIN [tblOrder] ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]

В Access оператор объединения указывается в предложении FROM инструкции SELECT. Существует два типа объединений — внутренние и внешние. Они описаны в следующих разделах.

Внутренние соединения

Внутреннее объединение — это самый распространенный тип объединения. При выполнении запроса со внутренним объединением в результат включаются только те записи, которые имеют одинаковые значения в обеих объединяемых таблицах.

Внутреннее объединение имеет следующий синтаксис (разрыв строки добавлен ради удобства чтения):

FROM table1 INNER JOIN table2 ON table1.field1 compopr table2.field2

В приведенной ниже таблице представлены различные компоненты операции INNER JOIN.

Компонент

Описание

таблица1, таблица2

Имена таблиц, содержащих объединяемые записи.

поле1, поле2

Имена объединенных полей. Если они не являются числовыми, поля должны иметь один и тот же тип данных и содержать данные одного типа, но они не должны иметь одно и то же имя.

compopr

Любой оператор сравнения: (=, <, >, <=, >= или <>)

Внешние соединения

Внешнее объединение похоже на внутреннее, потому что оно указывает, как в запросе должны объединяться данные из двух источников. Отличие заключается в том, что оно также указывает, необходимо ли включать в результаты данные, в которых отсутствуют одинаковые значения. Внешнее объединение является направленным: вы можете указать, следует ли включить ли в результаты все записи из первого источника данных для объединения (левое объединение) или все записи из второго источника данных (правое объединение).

Внешнее объединение имеет следующий синтаксис:

FROM таблица1 [ LEFT | RIGHT ] JOIN таблица2ON таблица1.поле1оператор_сравнения таблица2.поле2

В приведенной ниже таблице указаны различные компоненты операций LEFT JOIN и RIGHT JOIN.

Компонент

Описание

таблица1, таблица2

Имена таблиц, содержащих объединяемые записи.

поле1, поле2

Имена объединенных полей. Поля должны быть одинаковыми тип данных и содержать данные одного типа, но они не должны иметь одно и то же имя.

compopr

Любой оператор сравнения: (=, <, >, <=, >= или <>)

Дополнительные сведения об объединениях см. в статье Объединение таблиц и запросов.

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

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

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

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

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