Połączenia wierszowe UNION, UNION ALL, INTERSECT, MINUS

W celu sklejenia danych z dwóch lub więcej tabel zastosować możemy polecenie UNION

select kolumna1, kolumna2 from tab1
UNION
select kolumna3, kolumna4 from tab2

UNION eliminuje duplikaty. Dane musza być tego samego typu, ilośc kolumn musi się zgadzać.
W przypadku, gdy nie chcemy wykluczać duplikatów zastosowac powinniśmy polecenie UNION ALL

select kolumna1, kolumna2 from tab1
UNION ALL
select kolumna3, kolumna4 from tab2

Jeśli chcemy miec przekrój (część wspólną) dwóch lub więcej tabel zastosaowac powinniśmy polecenie INTERSECT

select kolumna1, kolumna2 from tab1
INTERSECT
select kolumna3, kolumna4 from tab2

Z kolei jeśli chcemy wykluczyć z jednej tabeli elementy znajdujące sie w drugiej zastosować możemy polecenie MINUS

select kolumna1, kolumna2 from tab1
MINUS
select kolumna3, kolumna4 from tab2

Tags: