Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
FROM Состав
WHERE Блюдо = 1; Результат объединения
Из этого простого примера видно, что избыточные дубликаты всегда исключаются из результата 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; Нарушение авторских прав |