У овом водичу ћемо научити како да користимо СКЛ УНИОН клаузулу да комбинујемо резултат из два или више СЕЛЕЦТ израза у један скуп резултата.
Следећа илустрација приказује преглед СКЛ УНИОН упита:
СКЛ УНИОН синтакса
У наставку је приказана синтакса за комбиновање две наредбе селецт користећи УНИОН клаузулу:
СЕЛЕЦТ
колона_1,
колона_2,
...цол_Н
ИЗ
тбл_1
УНИЈА
СЕЛЕЦТ
колона_1,
колона_2,
...цол_Н
ИЗ
тбл_2;
Пре него што извршите упит синдиката, морају бити испуњени следећи услови:
- Број колона у свакој наредби за одабир мора бити идентичан.
- Колона на истој позицији у свакој наредби за одабир мора бити сличног типа података.
- Редослед колона мора бити исправан у свим изабраним изјавама.
Хајде да илуструјемо како можемо да користимо УНИОН упит са стварном табелом.
Табела 1:
У наставку су приказане колоне и подаци у првој табели:
ид|име_сервера |адреса |инсталирана_верзија|
--+------------+--------------+----------------+
1|СКЛ Сервер |лоцалхост:1433|15.0 |
2|Еластицсеарцх|лоцалхост:9200|8.4.3 |
3|Редис |лоцалхост:6379|6.0 |
4|ПостгреСКЛ |лоцалхост:5432|14.5 |
Табела 2:
Структура и записи друге табеле су приказани у наставку:
ид|алатка |верзија|лиценцирано |--+--------------------------------+-------+----- ----- +
1|СКЛ Сервер Манагемент Студио|18.0 |комерцијални|
2|Кибана |7.17.7 |бесплатно |
3|ДБеавер |22.2 |Предузеће|
4|ДатаГрип |2022.2 |Цоммерциал|
СКЛ УНИОН табеле
Можемо извршити УНИОН операцију над вредностима обе табеле као што је приказано у следећем упиту:
СЕЛЕЦТСЕРВЕР_НАМЕ,
ИНСТАЛЛЕД_ВЕРСИОН
ИЗ
СТАЦК_МАППИНГ
УНИЈА
СЕЛЕЦТ
ОРУЂЕ,
ВЕРСИОН
ИЗ
ЦОННЕЦТОР;
Ово би требало да комбинује упите и врати табелу на следећи начин:
сервер_наме |инсталирана_верзија|----------------------------+----------------+
СКЛ Сервер |15.0 |
Еластицсеарцх |8.4.3 |
Редис |6.0 |
ПостгреСКЛ |14.5 |
СКЛ Сервер Манагемент Студио|18.0 |
Кибана |7.17.7 |
ДБеавер |22.2 |
ДатаГрип |2022.2 |
Закључак
Овај чланак пружа основе рада са УНИОН клаузулом у СКЛ-у за комбиновање резултата два или више СЕЛЕЦТ наредби. Слободно проверите друге туторијале за више.