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
Оператор UNION видаляє дублікати так само, як SELECT DISTINCT робить. Давайте продемонструємо це. У нас є база даних під назвою 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;
Команда поверне наступне:
Результати замовлені.
Завантажте базу даних, яка використовується в цьому посібнику

















