SQL - SQL UNION Operator


UNION Operator

Operator UNION koristi se za kombiniovnje rezultata dva ili više SELECT upita u jedan skup rezultata. Operacija objedinjavanja razlikuje se od upotrebe spajanja koja kombiniuju kolone iz dvije tabele. Operacija udruživanja stvara novu tabelu stavljanjem svih redova iz dvije izvorne tabele u jednu tabelu rezultata, postavljajući redove jedan na drugi. Ovo su osnovna pravila za kombinovanje skupova rezultata dva SELECT upita pomoću UNION-a:

Kada su ovi kriteriji zadovoljeni, tabele su kompatibilne s unijama:


Sintaksa

Osnovna sintaksa UNION-a može se dati sa:

SELECT column_list FROM table1_name
UNION SELECT column_list FROM table2_name;

Da bismo bolje razumjeli UNION operaciju, pretpostavimo da u tabelama naših zaposlenih i kupaca postoje neka hipotetska polja, kao što su ime i prezime. Imajte na umu da ta polja zapravo ne postoje u našim tabelama demo baze podataka.



Izvedimo UNION operaciju kako bismo kombinovali rezultate dva upita. Sljedeća izjava vraća imena i prezimena svih kupaca i zaposlenih:

SELECT first_name, last_name FROM employees 
UNION
SELECT first_name, last_name FROM customers;

Nakon izvršavanja gornje izjave, rezultat će izgledati otprilike ovako:



Operacija UNION prema zadanim postavkama uklanja duplikate reda iz kombinovanog skupa rezultata. Zbog toga gornji upit vraća samo 9 redova, jer ako primijetite da se ime "Martin Blank" pojavljuje i u tabelama zaposlenih i kupaca. Međutim, ako želite zadržati duplkate redova, možete upotrijebiti ključnu riječ ALL, kao u sljedećem primjeru:

SELECT first_name, last_name FROM employees 
UNION ALL
SELECT first_name, last_name FROM customers;