SQL – Skupovni operatori u selekcijama

Nastavljamo sa SQL upitima i to sa operatorima za spajanje slogova iz dve tabele. Spajanje vrลกimo pomoฤ‡u operatora „UNION“ i „UNION ALL“ (unija skupova podataka). Koriลกฤ‡enjem ovih operatora, spajamo slogove iz dve tabale, ali istovremeno izbacujemo duplirane slogove. U sledeฤ‡em primeru imamo dve tabele sa sliฤnim podacima, radi se o artiklima u dva magacina. Naลก cilj je da kao rezultat upita dobijemo sve razliฤite vrste artikala iz oba magacina. Probajte sledeฤ‡i upit:


SELECT Artikl FROM Magacin1
UNION
SELECT Artikl FROM Magacin2;

Rezultat ฤ‡e biti kao na slici, tj. dobiฤ‡emo nazad osam slogova od ukupno deset iz obe tabele. Zbog operatora „UNION“ biฤ‡e izbaฤeni slogovi „Jaja“ i „Hleb“, poลกto se oni ponavljaju. U sluฤaju da ลพelimo da izlistamo sve slogove iz obe tabele, bez obzira na ponavljanja, upotrebiฤ‡emo operator „UNION ALL“:


SELECT Artikl FROM Magacin1
UNION ALL
SELECT Artikl FROM Magacin2;

Kao rezultat dobiฤ‡emo sve slogove iz obe tabele, tj. ukupno deset slogova.

Operator sliฤan prethodnim je i „INTERSECT“ tj. presek, i kao ลกto mu ime govori, on sluลพi za dobijanje preseka dva skupa. U ovom sluฤaju radi se o preseku, tj. istim vrednostima iz obe tabele. Postaviฤ‡emo sledeฤ‡i upit:


SELECT Artikl FROM Magacin1
INTERSECT
SELECT Artikl FROM Magacin2;

Kao rezultat dobiฤ‡emo samo podatke „Jaja“ i „Hleb“, poลกto su oni sadrลพani i u jednoj i u drugoj tabeli.

I poslednji operator koji se bavi slogovima u tabeli, kao skupovima, je operator „MINUS“ (razlika). Kada upotrebimo ovaj operator, kao rezultat vratiฤ‡e se slogovi koji su sadrลพani samo u prvoj tabeli, a istovremeno nisu u drugoj. Sintaksa glasi:


SELECT Artikl FROM Magacin1
MINUS
SELECT Artikl FROM Magacin2;

Pratite Krstaricu na www.krstarica.com