PostgreSQL Союз, Союз ВСЕХ с примерами
⚡ Умное резюме
PostgreSQL Оператор UNION объединяет результаты двух или более операторов SELECT в единый набор результатов и удаляет повторяющиеся строки, в то время как UNION ALL сохраняет все строки, что обеспечивает более быстрый вариант, когда наличие дубликатов не имеет значения.

Что такое PostgreSQL Союз?
PostgreSQL Оператор UNION используется для объединения наборов результатов из более чем одного оператора SELECT в один набор результатов. Любые дублирующиеся строки из результатов операторов SELECT удаляются. Оператор UNION работает при двух условиях:
- Запросы SELECT должны возвращать одинаковое количество столбцов.
- Типы данных всех соответствующих столбцов должны быть совместимыми.
Оператор UNION обычно используется для объединения данных из связанных таблиц, которые не были идеально нормализованы.
Синтаксис
SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)] UNION SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)];
Вот объяснение вышеуказанных параметров:
Выражение_1, выражение_2,… выражение_n — это вычисления или столбцы, которые вам нужно получить.
Таблицы — это таблицы, из которых вам нужно извлечь записи.
Условия WHERE — это условия, которые должны быть выполнены для получения записей.
Примечание: Поскольку оператор UNION не возвращает дубликаты, использование UNION DISTINCT не повлияет на результаты.
PostgreSQL Союз
Оператор UNION удаляет дубликаты аналогично тому, как ВЫБРАТЬ ОТЛИЧИТЕЛЬНЫЙ Да, это так. Давайте это продемонстрируем. У нас есть база данных с именем Demo, содержащая следующие таблицы:
Книга:
Цена:
Давайте запустим следующую команду:
SELECT id FROM Book UNION SELECT id FROM Price;
Команда вернет следующее:
Столбец «Идентификатор» отображается как в таблице «Книга», так и в таблице «Цены». Однако в результате оно появляется только один раз. Причина в том, что PostgreSQL Оператор UNION не возвращает дубликаты.
PostgreSQL Союз Все
Этот оператор объединяет наборы результатов из нескольких операторов SELECT, не удаляя дубликаты. Оператор требует, чтобы каждый оператор SELECT имел одинаковое количество полей в наборах результатов с похожими типами данных.
Синтаксис:
SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)] UNION ALL SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)];
Вот объяснение вышеуказанных параметров:
Выражение_1, выражение_2,… выражение_n — это вычисления или столбцы, которые вам нужно получить.
Таблицы — это таблицы, из которых вам нужно извлечь записи.
Условия WHERE — это условия, которые должны быть выполнены для получения записей.
Примечание: Оба оператора SELECT должны содержать одинаковое количество выражений.
Мы будем использовать следующие таблицы:
Книга:
Цена:
Выполните следующую команду:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Он должен вернуть следующее:
Дубликаты не удалены.
СОРТИРОВАТЬ ПО
PostgreSQL Оператор UNION может использоваться вместе с предложением ORDER BY для упорядочивания результатов запроса. Чтобы продемонстрировать это, мы будем использовать следующие таблицы:
Цена:
Цена2:
Вот команда, которая демонстрирует, как использовать оператор UNION вместе с предложением ORDER BY:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price;
Команда вернет следующее:
Записи были упорядочены по столбцу цен. По умолчанию это предложение упорядочивает записи в порядке возрастания. Чтобы упорядочить их в порядке убывания, добавьте предложение DESC, как показано ниже:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
Команда вернет следующее:
Записи упорядочены по столбцу цен в порядке убывания.
Когда следует использовать Union, а когда Union All?
Используйте оператор UNION, если у вас есть несколько таблиц со схожей структурой, но разделенных по какой-либо причине. Он полезен, когда необходимо удалить или исключить повторяющиеся записи.
Используйте оператор UNION ALL, если вам не нужно удалять или исключать повторяющиеся записи.
Использование pgAdmin
Теперь давайте посмотрим, как выполняются все три действия с помощью pgAdmin.
Как использовать PostgreSQL Объединение с использованием pgAdmin
Ниже приведена пошаговая инструкция по использованию. PostgreSQL Объединение через pgAdmin:
Шаг 1) Войдите в свою учетную запись pgAdmin.
Шаг 2) В левой панели навигации нажмите «Базы данных», затем нажмите «Демоверсия».
Шаг 3) Введите запрос в редакторе запросов:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
Шаг 4) Нажмите кнопку «Выполнить».
Он должен вернуть следующее:
Союз Все
Шаг 1) Войдите в свою учетную запись pgAdmin.
Шаг 2) В левой панели навигации нажмите «Базы данных», затем нажмите «Демоверсия».
Шаг 3) Введите запрос в редакторе запросов:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Шаг 4) Нажмите кнопку «Выполнить».
Он должен вернуть следующее:
СОРТИРОВАТЬ ПО
Оператор UNION ALL можно комбинировать с предложением ORDER BY, чтобы упорядочить результаты в наборе результатов. Например:
SELECT id FROM Book UNION ALL SELECT id FROM price ORDER BY id;
Команда вернет следующее:
Результаты заказаны.
Загрузите базу данных, используемую в этом руководстве.

















