Access SQL. Предложение FROM

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

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

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

В этой статье

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

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

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

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

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

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

FROM tblCustomer

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

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

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

Для обращения к таблице в инструкции 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 таблица2
ON таблица1.поле1оператор_сравнения таблица2.поле2

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

Компонент

Описание

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

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

поле1, поле2

Имена объединяемых полей. У полей должен быть один тип данных. Имена этих полей могут быть разными.

compopr

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

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

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

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

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

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

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

×