Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






FROM Состав





WHERE Блюдо = 1;

Результат объединения

Результат
ID_Продукта
 
 
 
 
 
 

 

Из этого простого примера видно, что избыточные дубликаты всегда исключаются из результата UNION. Поэтому, хотя в рассматриваемом примере Помидоры(11), Зелень(12) и Яблоки(15) выбираются обеими частями из двух составляющих предложения SELECT, в окончательном результате они появляются только один раз.

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

UNION

SELECT Продукт

FROM Продукты

WHERE Ca < 250;

позволяющую добавить к списку продуктов Масло, Рис, Мука и Кофе. Однако тот же результат можно получить простым изменением фразы WHERE первой части исходного запроса

WHERE Жиры = 0 OR Ca < 250;

UNION и устранение дубликатов.

UNION будет автоматически исключать дубликаты строк из вывода. Это нечто несвойственное для SQL, так как одиночные запросы обычно содержат DISTINCT чтобы устранять дубликаты. Например, запрос

 

Пример 39.

SELECT Блюдо, Количество_порций

FROM Заказы

WHERE Дата = '2011-01-02'

UNION

SELECT Блюдо, Количество_порций

FROM Заказы

WHERE Дата = '2011-01-03';

может иметь повторные комбинации значений (Блюдо, Количество_порций), так как некоторые блюда в разные дни могли заказываться в одинаковом количестве. Однако если мы используем UNION в построении этого запроса, повторные комбинации будет устранены, что в дальнейшем, при вычислении выручки, приведет к ошибке. Для решения проблемы устранения повторяющихся строк необходимо использовать UNION ALL.

 

SELECT Блюдо, Количество_порций

FROM Заказы WHERE Дата = '2011-01-02'

UNION ALL

SELECT Блюдо, Количество_порций

FROM Заказы WHERE Дата = '2011-01-03';







Date: 2015-09-18; view: 317; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию