Объединение результатов запроса: оператор UNION — КиберПедия 

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Объединение результатов запроса: оператор UNION

2021-04-19 67
Объединение результатов запроса: оператор UNION 0.00 из 5.00 0 оценок
Заказать работу

Оператор UNION используется для одновременного просмотра всех данных, возвращаемых несколькими сходными запросами на выборку, в виде объединенного набора.

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

ПРИМЕЧАНИЕ: В запросах на объединение числовой и текстовый типы данных являются совместимыми.

Используя оператор UNION, можно указать, должны ли в результаты запроса включаться повторяющиеся строки, если таковые имеются. Для этого следует использовать ключевое слово ALL.

Запрос на объединение двух инструкций SELECT имеет следующий базовый синтаксис:

SELECT field_1

FROM table_1

UNION [ALL]

SELECT field_a

FROM table_a;

 

Предположим, например, что имеется две таблицы, которые называются «Товары» и «Услуги». Обе таблицы содержат поля с названием товара или услуги, ценой и сведениями о гарантии, а также поле, в котором указывается эксклюзивность предлагаемого товара или услуги. Несмотря на то, что в таблицах «Продукты» и «Услуги» предусмотрены разные типы гарантий, основная информация одна и та же (предоставляется ли на отдельные продукты или услуги гарантия качества). Для объединения четырех полей из двух таблиц можно использовать следующий запрос на объединение:

SELECT name, price, warranty_available, exclusive_offer

FROM Products

UNION ALL

SELECT name, price, guarantee_available, exclusive_offer

FROM Services;

 

Дополнительные сведения о предложении SELECT

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

Заключение идентификаторов в квадратные скобки

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

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

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

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

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

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

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

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

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

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

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

SELECT DISTINCT [txtCustomerPhone]

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

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

SELECT [txtCustPhone] AS [Customer Phone]

 

ПРИМЕЧАНИЕ: Псевдоним поля необходимо использовать, если в предложении SELECT используется выражение.


Поделиться с друзьями:

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.