PostgreSQL Союз, Союз ВСЕ з прикладами
Що таке 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 видаляє дублікати. Давайте продемонструємо це.
У нас є база даних під назвою 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 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
Щоб зробити те саме через 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;
Команда поверне наступне:
Результати замовлені.
Підсумки
- Команда PostgreSQL Оператор UNION поєднує результати з кількох Оператор SELECT в один набір результатів.
- Оператор UNION не повертає повторювані записи.
- Щоб упорядкувати результати, поєднайте його з пропозицією ORDER BY.
- Оператор UNION ALL поєднує результати з кількох інструкцій SELECT в один набір результатів.
- Оператор UNION ALL не видаляє дублікати.
Завантажте базу даних, яка використовується в цьому посібнику