Łączenie wyników zapytań w SQL

Pisząc zapytania SELECT czasami zachodzi potrzeba złączenia pobranych wyników. W SQL mamy do dyspozycji operatory takie jak: suma (UNION), różnica (EXCEPT) oraz cześć wspólną (INTERSECT). Przyjrzyjmy się więc jak je używać…

Fot: Fleshas, CC BY 3.0.

Fot: Fleshas, CC BY 3.0.

Suma

Wyniki danego zapytania możemy „dodać” do siebie za pomocą operatora UNION. Działa on na zasadzie dodawania zbiorów. Wyświetlane są więc wszystkie wiersze.

Przykład użycia:

Operator UNION powoduje usunięcie z wyniku wszystkich powtórzonych wierszy, można to ominąć stosując w miejsce UNION operator UNION ALL:

Powyższy operator możemy oczywiście użyć kilka razy. Dopuszczalny jest między innymi taki zapis:

Różnica

Operator EXCEPT zwraca różnicę pobieranych danych. Działa on na zasadzie różnicy zbiorów czyli wyświetla tylko te wiersze które były w pierwszej tabeli, a nie były w drugiej.

Część wspólna

Część wspólną możemy uzyskać za pomocą operatora INTERSECT. Zwraca on wiersze które zostały zwrócone przez oba zapytania:

, , , , , , , ,