В този урок ще научим как да използваме клаузата SQL UNION, за да комбинираме резултата от две или повече инструкции SELECT в един резултатен набор.
Следната илюстрация показва общ преглед на SQL UNION заявка:
Синтаксис на SQL UNION
Следното показва синтаксиса за комбиниране на два оператора за избор с помощта на клауза UNION:
ИЗБЕРЕТЕ
col_1,
col_2,
...col_N
ОТ
tbl_1
СЪЮЗ
ИЗБЕРЕТЕ
col_1,
col_2,
...col_N
ОТ
tbl_2;
Преди да изпълните запитване за обединение, трябва да бъдат изпълнени следните изисквания:
- Броят на колоните във всеки оператор за избор трябва да бъде идентичен.
- Колоната на същата позиция във всеки оператор за избор трябва да бъде от подобен тип данни.
- Редът на колоните трябва да е правилен във всички оператори за избор.
Нека да илюстрираме как можем да използваме 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|инструмент |версия|лицензиран |--+--------------------------+-------+---------- +
1|SQL Server Management Studio|18.0 |комерсиален|
2|Kibana |7.17.7 |безплатно |
3|DBaver |22.2 |Предприятие|
4|DataGrip |2022.2 |Търговски|
SQL UNION таблици
Можем да извършим операция UNION върху стойностите на двете таблици, както е показано в следната заявка:
ИЗБЕРЕТЕИМЕ НА СЪРВЪРА,
INSTALLED_VERSION
ОТ
STACK_MAPPING
СЪЮЗ
ИЗБЕРЕТЕ
ИНСТРУМЕНТ,
ВЕРСИЯ
ОТ
СЪЕДИНИТЕЛ;
Това трябва да комбинира заявките и да върне таблица, както следва:
сървър_име |инсталирана_версия|----------------------------+----------------+
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. Чувствайте се свободни да проверите другите уроци за повече.