СОЕДИНЕНИЕ SQL

Soedinenie Sql



В этом руководстве мы узнаем, как использовать предложение SQL UNION для объединения результатов двух или более операторов SELECT в один набор результатов.

На следующем рисунке показан обзор запроса SQL UNION:









Синтаксис объединения SQL

Ниже показан синтаксис для объединения двух операторов select с использованием предложения UNION:



ВЫБРАТЬ
столбец_1,
столбец_2,
...col_N
ИЗ
таблица_1
СОЮЗ

ВЫБРАТЬ
столбец_1,
столбец_2,
...col_N
ИЗ
таблица_2;

Перед выполнением запроса на объединение должны быть выполнены следующие требования:





  1. Количество столбцов в каждом операторе select должно быть одинаковым.
  2. Столбец в одной и той же позиции в каждом операторе select должен иметь аналогичный тип данных.
  3. Порядок столбцов должен быть правильным во всех операторах select.

Давайте проиллюстрируем, как мы можем использовать запрос UNION с реальной таблицей.

Таблица 1:

Ниже показаны столбцы и данные в первой таблице:



id|имя_сервера  |адрес       |установленная_версия|
--+-------------+---------------+-----------------+
1|SQL Server   |localhost:1433|15.0             |
2|Elasticsearch|localhost:9200|8.4.3            |
3|Redis        |localhost:6379|6.0              |
4|PostgreSQL   |localhost:5432|14.5             |

Таблица 2:

Структура и записи второй таблицы показаны ниже:

id|tool                        |version|лицензия  |
--+---------------------------------+---------------------+----- ----- +
1|SQL Server Management Studio|18.0   |коммерческая|
2|Кибана                      |7.17.7 |бесплатно      |
3|DBeaver                     |22.2   |Enterprise|
4|DataGrip                    |2022.2 |Commercial|

Таблицы SQL UNION

Мы можем выполнить операцию UNION над значениями обеих таблиц, как показано в следующем запросе:

ВЫБРАТЬ
ИМЯ СЕРВЕРА,
УСТАНОВЛЕНА_ВЕРСИЯ
ИЗ
STACK_MAPPING
СОЮЗ
ВЫБРАТЬ
ИНСТРУМЕНТ,
ВЕРСИЯ
ИЗ
СОЕДИНИТЕЛЬ;

Это должно объединить запросы и вернуть таблицу следующим образом:

server_name                 |installed_version|
----------------------------+---+
SQL Server                  |15.0             |
Elasticsearch               |8.4.3            |
Redis                       |6.0              |
PostgreSQL                  |14.5             |
SQL Server Management Studio|18.0             |
Кибана | 7.17.7 |
DBeaver                     |22.2             |
DataGrip                    |2022.2           |

Вывод

В этой статье представлены основы работы с предложением UNION в SQL для объединения результатов двух или более операторов SELECT. Не стесняйтесь проверять другие учебники для получения дополнительной информации.