Reklama
Wizyt
Dzisiaj: 28Wszystkich: 370648

Łączenie wyników zapytań

Technikum » SBD » SQL » Łączenie wyników zapytań

 

W języku SQL istnieją mechanizmy, które pozwalają łączyć wyniki kilku zapytań. Do połączenia zapytań można użyć jednej z trzech instrukcji:

  • UNION
  • INTERSECT
  • EXCEPT

 

Instrukcja UNION


Instrukcja UNION łączy wyniki zapytań i ma postać:

          zapytanie1 UNION zapytanie2


Warunkiem wykonania instrukcji jest, aby łączone zapytania miały taką samą liczbę kolumn oraz aby typy kolumn były takie same.


Przykład



Pierwsze zapytanie zwróci listę klientów z Warszawy, drugie z Gdańska. Wynikiem połączenia zapytań będzie lista klientów z Warszawy i z Gdańska.
Instrukcja UNION domyślnie powoduje usunięcie powtarzających się wierszy. W celu zachowania w wyniku wszystkich wierszy należy użyć instrukcji UNION ALL. Takie użycie instrukcji spowoduje dużo szybsze zwrócenie wyniku, ponieważ nie wymaga wyszukiwania i usuwania powtarzających się wierszy.
Instrukcja UNION lub UNION ALL może zastępować w zapytaniu operator OR.


Przykład


 

Instrukcja  INTERSECT


Instrukcja INTERSECT zwraca część wspólną wyników dwóch zapytań i ma postać:

          zapytanie1 INTERSECT zapytanie2


Podobnie jak poprzednio, obydwa zapytania powinny zwracać taką samą liczbę kolumn o takich samych typach.


Przykład

 

Instrukcja INTERSECT zwróci dane klientów, którzy nie podali numeru telefonu ani adresu e-mail.

 

Instrukcja  EXCEPT


Instrukcja EXCEPT ma postać:

          zapytanie1 EXCEPT zapytanie2


Zwraca te wiersze, które wystąpiły w wyniku pierwszego zapytania, ale nie było ich w wyniku drugiego zapytania. Zmiana kolejności zapytań w tej instrukcji spowoduje zmianę wyniku.


Przykład

 

Instrukcja EXCEPT zwróci klientów, którzy mieszkają w Warszawie i nie podali numeru telefonu komórkowego.

Reklama