1. Złączenia pionowe w SQL Server
Złączenia pionowe w SQL służą do operacji łączenia lub wykluczania całych rekordów z tabel. Ważną zasadą jest, że złączeń pionowych możemy używać na tabelach lub widokach o takiej samej liczbie kolumn i o takich samych typach danych w kolumnach. To, czy wykonujemy złączenia pionowe na widokach, tabelach, czy na jednych i drugich łącznie, nie ma większego znaczenia. Warto zaznaczyć, że nie wszystkie typy danych możemy ze sobą łączyć. Np nie możemy ze sobą łączyć typów danych xml. W SQL Server wyróżniamy następujące typy złączeń pionowych:
- UNION
- UNION ALL
- INTERSECT
- EXCEPT
Wszystkie złączenia pionowe omówię w tym rozdziale kursu SQL Server.
2. Złączenie SQL UNION
Złączenie SQL UNION służy do łączenia dwóch tabel, widoków lub zapytań. Wynikiem UNION’a jest zestaw danych zawierający wszystkie rekordy, które wchodziły w skład obu zapytań z wyłączeniem duplikatów. Rekordy zduplikowane zostają usunięte z wyników zapytania.

Przykład z użyciem UNION:
SELECT kolumna_1, kolumna_2, kolumna_3 (...) FROM tabela a UNION SELECT kolumna_1, kolumna_2, kolumna_3 (...) FROM tabela ;
3. Złączenie SQL UNION ALL
Złączenie SQL UNION ALL jest podobne w działaniu do złączenia UNION. Główna różnica polega na tym, że w wyniku zapytania SQL z użyciem UNION ALL duplikaty nie zostaną usunięte. Wynik będzie zawierał wszystkie rekordy z tabeli 1 i wszystkie rekordy z tabeli 2.

Przykład z użyciem UNION ALL:
SELECT kolumna_1, kolumna_2, kolumna_3 (...) FROM tabela a UNION ALL SELECT kolumna_1, kolumna_2, kolumna_3 (...) FROM tabela ;
4. Złączenie SQL INTERSECT
Złączenie INTERSECT SQL w odróżnieniu od UNION zwraca część wspólna rekordów z obu tabel. Tak więc, jeśli łączymy dwa zapytania za pomocą INTERSECT’a, wynikiem zapytania będą tylko te rekordy, które występowały w obu tabelach jednocześnie.

Przykład z użyciem INTERSECT:
SELECT kolumna_1, kolumna_2, kolumna_3 (...) FROM tabela a INTERSECT SELECT kolumna_1, kolumna_2, kolumna_3 (...) FROM tabela ;
5. Złączenie SQL EXCEPT
Złączenie EXCEPT SQL służy do wykluczania rekordów z zapytań. Zwraca rekordy z Tabeli 1, które jednocześnie nie występują w Tabeli 2. EXCEPT’a używamy w przypadkach, gdy np posiadamy tabelę rekordów, których nie chcemy w widzieć wynikach zapytania SQL. za pomocą EXCEPT łatwo możemy je wykluczyć.

Przykład z użyciem EXCEPT:
SELECT kolumna_1, kolumna_2, kolumna_3 (...) FROM tabela a EXCEPT SELECT kolumna_1, kolumna_2, kolumna_3 (...) FROM tabela ;
Komentarz do “Złączenia pionowe SQL UNION, INTERSECT, EXCEPT w SQL Server”
niezle