SQL1

ОБЪЕДИНЕНИЕ НЕСКОЛЬКИХ ЗАПРОСОВ В ОДИН


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

SELECT snum, sname FROM Salespeople WHERE city = 'London'

UNION

SELECT cnum, cname FROM Customers WHERE city = 'London';

и получить вывод, показанный в Рисунке 14.1.

Как видите, столбцы, выбранные двумя командами, выведены так, как если бы это была одна команда. Заголовки столбца исключены, потому что ни один из столбцов, выведённых объединением, не был извлечён непосредственно из одной таблицы. Следовательно, все эти столбцы вывода не имеют никаких имён (смотрите Главу 7, в которой обсуждается вывод столбцов).

Кроме того, обратите внимание, что только последний запрос заканчивается точкой с запятой.

Отсутствие точки с запятой дает понять SQL, что имеется ещё один или более запросов.

=============== SQL Execution Log ============ | | | SELECT snum, sname | | FROM Salespeople | | WHERE city = 'London' | | UNION | | SELECT cnum, cname | | FROM Customers | | WHERE city = 'London'; | | ============================================= | | | | ----- -------- | | 1001 Peel | | 1004 Motika | | 2001 Hoffman | | 2006 Climens | | | =============================================

Рисунок 14.1 Формирование объединения из двух запросов



Содержание раздела