Шта је ПостгреСКЛ Унион?
Оператор ПостгреСКЛ УНИОН користи се за комбиновање скупова резултата из више од једне наредбе СЕЛЕЦТ у један скуп резултата. Сви дуплицирани редови из резултата СЕЛЕЦТ израза се елиминишу. Оператор УНИОН ради под два услова:
- УПИТИ СЕЛЕЦТ МОРАЈУ вратити сличан број упита.
- Типови података свих одговарајућих колона морају бити компатибилни.
Оператор УНИОН се обично користи за комбиновање података из повезаних табела који нису у потпуности нормализовани.
У овом упутству за ПостгреСКЛ научићете:
- Шта је ПостгреСКЛ Унион?
- Синтакса
- унија
- Унион Алл
- НАРУЧИ ПО
- Када користити Унион и када користити Унион алл?
- Коришћење пгАдмин
Синтакса
SELECT expression_1, expression_2,… expression_nFROM tables[WHERE condition(s)]UNIONSELECT expression_1, expression_2,… expression_nFROM tables[WHERE condition(s)];
Ево објашњења за горе наведене параметре:
Израз_1, израз_2, ... израз_н су прорачуни или колоне које требате преузети.
Табеле су табеле из којих требате преузети записе.
ВХЕРЕ услови су услови који морају бити задовољени да би се дохватали записи.
Напомена: пошто УНИОН оператер не враћа дупликате, употреба УНИОН ДИСТИНЦТ неће имати утицаја на резултате.
унија
Оператор УНИОН уклања дупликате. Покажимо ово.
Имамо базу података која се зове Демо са следећим табелама:
Боок:
Цена:
Покренимо следећу команду:
SELECT idFROM BookUNIONSELECT idFROM Price;
Команда ће вратити следеће:
Ступац ид појављује се у табелама Боок и Прице. Међутим, у резултату се појављује само једном. Разлог је тај што оператер ПостгреСКЛ УНИОН не враћа дупликате.
Унион Алл
Овај оператор комбинује скупове резултата из више од једне наредбе СЕЛЕЦТ без уклањања дупликата. Оператор захтева да свака наредба СЕЛЕЦТ има сличан број поља у скуповима резултата сличних типова података.
Синтакса:
SELECT expression_1, expression_2,… expression_nFROM tables[WHERE condition(s)]UNION ALLSELECT expression_1, expression_2,… expression_nFROM tables[WHERE condition(s)];
Ево објашњења за горе наведене параметре:
Израз_1, израз_2, ... израз_н су прорачуни или колоне које требате преузети.
Табеле су табеле из којих требате преузети записе.
ВХЕРЕ услови су услови који морају бити задовољени да би се дохватали записи.
Напомена: Оба израза морају имати једнак број израза.
Користићемо следеће табеле:
Боок:
Цена:
Покрените следећу команду:
SELECT idFROM BookUNION ALLSELECT idFROM price;
Требало би да врати следеће:
Дупликати нису уклоњени.
НАРУЧИ ПО
Оператор ПостгреСКЛ УНИОН може се користити заједно са клаузулом ОРДЕР БИ за наручивање резултата упита. Да бисмо то демонстрирали, користићемо следеће табеле:
Цена:
Прице2:
Ево наредбе која показује како се користи оператор УНИОН заједно са клаузулом ОРДЕР БИ:
SELECT *FROM PriceUNIONSELECT *FROM Price2ORDER BY price;
Команда ће вратити следеће:
Евиденције су поређане по колони цена. Клаузула подразумевано распоређује записе у растућем редоследу. Да бисте их наложили у опадајућем редоследу, додајте ДЕСЦ клаузулу како је приказано доле:
SELECT *FROM PriceUNIONSELECT *FROM Price2ORDER BY price DESC;
Команда ће вратити следеће:
Записи су поредани на основу колоне цена у опадајућем редоследу.
Када користити Унион и када користити Унион алл?
Користите оператор УНИОН када имате више табела са сличном структуром, али подељене из разлога. Добро је када требате уклонити / уклонити дупликате записа.
Користите оператер УНИОН АЛЛ када не требате уклањати / уклањати дупликате записа.
Коришћење пгАдмин
Сада да видимо како су се извршиле све три акције помоћу пгАдмин.
унија
Да бисте то постигли путем пгАдмин-а, урадите ово:
Корак 1) Пријавите се на свој пгАдмин налог.
Корак 2)
- На траци за навигацију са леве стране кликните на Базе података.
- Кликните Демо.
Корак 3) Укуцајте упит у уређивачу упита:
SELECT *FROM PriceUNIONSELECT *FROM Price2ORDER BY price DESC;
Корак 4) Кликните на дугме Изврши.
Требало би да врати следеће:
Унион Алл
Корак 1) Пријавите се на свој пгАдмин налог.
Корак 2)
- На траци за навигацију са леве стране кликните на Базе података.
- Кликните Демо.
Корак 3) Укуцајте упит у уређивачу упита:
SELECT idFROM BookUNION ALLSELECT idFROM price;
Корак 4) Кликните на дугме Изврши.
Требало би да врати следеће:
НАРУЧИ ПО
Оператор УНИОН АЛЛ може се комбиновати са клаузулом ОРДЕР БИ да би се наложили резултати у скупу резултата. На пример:
SELECT idFROM BookUNION ALLSELECT idFROM priceORDER BY id;
Команда ће вратити следеће:
Резултати су наручени.
Резиме:
- ПостгреСКЛ УНИОН оператор комбинује резултате из више од једне наредбе СЕЛЕЦТ у један скуп резултата.
- Оператор УНИОН не враћа дупликате записа.
- Да бисте наручили резултате, комбинирајте их са клаузулом ОРДЕР БИ.
- Оператор УНИОН АЛЛ комбинује резултате из више од једне наредбе СЕЛЕЦТ у један скуп резултата.
- Оператор УНИОН АЛЛ не уклања дупликате.
Преузмите базу података кориштену у овом водичу