Kolejną operacją na zbiorach o jakiej chcę Wam opowiedzieć jest różnica. Jest to równie ważna operacja tak jak suma. Prowadząc komis samochodowy mamy pewien zbiór modeli jakimi handlujemy. Jeśli chcemy sprawdzić jakie modele mamy, których nie ma konkurent, to od naszego zbioru odejmujemy zbiór konkurenta. Czyli wykluczamy te samochody, które są w obu komisach. Jeszcze troszkę teorii i już działamy:

Różnicą zbirów A\B nazywamy zbiór złożony z tych elementów zbioru A, które nie należą do zbioru B.

różnica

Access

W celu uzyskania różnicy zbiorów T1\T2 musimy zacząć od kwerendy tworzącej tabelę. Kopiujemy zatem za jej pomocą T1. Następnie tworzymy kwerendę usuwającą i na pole przeciągamy nowoutworzoną tabelę i T2. Łączymy pola odpowiadające ze sobą, aby utworzyły część wspólną i przeciągamy * z kopii T1 na dolną siatkę. Wiersz Usuwanie powinien automatycznie ustawić się na Skąd. Klikamy uruchom i zatwierdzamy usunięcie wierszy.

SQL

Do odejmowania zbiorów w języku SQL służy słowo kluczowe EXCEPT. Łączymy nim dwa zapytania SELECT:

SELECT Marka, Model FROM MojeMarkiSamochodow
EXCEPT
SELECT Marka, Model FROM StefanaMarkiSamochodow

Dzięki temu uzyskamy marki samochodów, które są sprzedawane w moim komisie, ale nie są sprzedawane u Stefana. Takie rozwiązanie rzadko się stosuje, ponieważ prawie każdy przypadek możemy zamienić na JOINa, który będzie bardziej wydajny.

Dołącz do newslettera już dziś!
Zero spamu - tylko wartościowe treści!
Musisz już lecieć?
Zostaw swój adres e-mail i dołącz do BEZPŁATNYCH WEBINARÓW dotyczących SQLa!
  • „Jak uczyć się SQLa?” – 4 października
  • „SQL dla testerów” – 12 października