Union - объединение результатов выполнения нескольких операторов select

Иногда бывает полезным объединять два или более результирующих НД, возвращаемых после выполнения двух или более операторов SELECT. Такое объединение производится при помощи оператора UNION. Результирующие НД должны иметь одинаковую структуру, т.е. одинаковый состав возвращаемых столбцов. Если в результирующих НД имеется одна и та же запись, в сводном НД она не дублируется.

Пример. Соединить результаты выполнения трех запросов:

Произведем объединение трех результирующих наборов данных.

SELECT R.* FROM RASHOD R WHERE R.TOVAR CONTAINING 'Ставрида'

UNION SELECT R.* FROM RASHOD R WHERE R.KOLVO >= 3000

UNION SELECT R.* FROM RASHOD R WHERE R.POKUP = 'Лира, ТОО'

Использование IS NULL

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

<значение> IS [NOT] NULL

Пример. Показать все факты отгрузки товаров со склада, для которых не указан покупатель.

SELECT * FROM RASHOD WHERE POKUP IS NULL

Использование операции сцепления строк

Операция || соединяет два строковых значения, которые могут быть представлены выражениями:

<строковое выражение1> || <строковое выражение2>

Операцию || можно использовать как после слова SELECT для указания возвращаемых значений, так и в предложении WHERE.

Пример. Выдать в виде единого столбца имена покупателей и названия их городов (в скобках).

SELECT POKUP || ' (' || GOROD || ')' FROM POKUPATELI

COLUMN1
Лира ТОО (МОСКВА)
Саяны ИЧП (Москва)
Адмирал АО (С Петербург)

Работа с разными БД в одном запросе

В одном запросе можно использовать таблицы из разных БД. В этом случае имя таблицы указывается в формате ПсевдонимБД:ИмяТаблицы

Под псевдонимом БД понимается псевдоним, определенный в утилите BDE Administrator.

Ниже приведен пример обращения в одном запросе к таблицам БД InterBase (псевдоним ' MONITOR') и Oracle (псевдоним 'DWH'):

SELECT U.* FROM ":MONITOR:NLS " N, ":DWH:OLAP_UPE" U

WHERE U.SC_CODE = N.COD_SCENARIO

ORDER BY U.SC CODE


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: