Operacje na zbiorach to jedna z ważniejszych operacji matematycznych. Wielu osobom kojarzą się z nielubianymi lekcjami w szkole. Są one natomiast bardzo ważne w życiu każdego z nas i często nam towarzyszą. Kupując jabłka i cebulę, po włożeniu ich razem do reklamówki mamy sumę zbiorów. To właśnie o sumie chcę Wam dzisiaj opowiedzieć.

W bazach danych suma zbiorów nie jest zbyt często wykorzystywana, ale jest bardzo ważna i może sprawić trochę problemów. Zacznijmy od teorii:

 suma

Sumą zbiorów nazywamy taki zbiór, do którego należą wszystkie elementy sumowanych zbiorów. To tyle tej nudnej części, przejdźmy zatem do praktyki.

Access

Tu nie jest takie proste stworzenie sumy zbiorów. W celu uzyskania sumy zbiorów T1 i T2 należy stworzyć kwerendę tworzącą tabelę i utworzyć ją na podstawie tabeli T1 (czyli kopiujemy tabelkę). Kolejnym krokiem jest stworzenie kwerendy dołączającej i dołączyć zawartość T2 do T1. Jeśli nie wiesz jak to zrobić, to zapraszam do wpisu: Rodzaje kwerend w Accessie.

SQL

W języku SQL musimy użyć słówka UNION lub UNION ALL, aby zsumować zbiory. Jak to zrobić? W bardzo prosty sposób:

SELECT Imie, Nazwisko FROM PracownicyFirmyA

UNION

SELECT Imie, Nazwisko FROM PracownicyFirmyB

Taka konstrukcja pozwala nam na połączenie wyników dwóch zapytań w jedną „tabelkę” wynikową.

Jeśli pracownik pracuje w obu firmach, to zostanie wyświetlony tylko raz. Aby pokazać wszystkich pracowników należy wpisać UNION ALL, wtedy nie będą pomijane powtórzenia.

Uwaga! Jeśli będziemy chcieli sortować wynik, to użycie ORDER BY uczyni to, ale dopiero po połączeniu obu tabel. Silnik bazy danych wykonuje najpierw operację unii, a dopiero później sortuje wynik. Więcej we wpisie: Kolejność wykonywania zapytania SQL