PostgreSQL Unia, Unia WSZYSTKO z przykładami
⚡ Inteligentne podsumowanie
PostgreSQL UNION łączy wyniki dwóch lub więcej poleceń SELECT w jeden zestaw wyników i usuwa zduplikowane wiersze, podczas gdy UNION ALL zachowuje wszystkie wiersze, zapewniając szybsze rozwiązanie, gdy duplikaty nie mają znaczenia.

Czym jest PostgreSQL Unia?
PostgreSQL Operator UNION służy do łączenia zestawów wyników z więcej niż jednego polecenia SELECT w jeden zestaw wyników. Wszelkie duplikaty wierszy z wyników poleceń SELECT są eliminowane. Operator UNION działa w dwóch warunkach:
- Zapytania SELECT muszą zwracać taką samą liczbę kolumn.
- Typy danych wszystkich odpowiednich kolumn muszą być kompatybilne.
Operatora UNION używa się zazwyczaj do łączenia danych z powiązanych tabel, które nie zostały idealnie znormalizowane.
Składnia
SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)] UNION SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)];
Oto wyjaśnienie powyższych parametrów:
Wyrażenie_1, wyrażenie_2,… wyrażenie_n to obliczenia lub kolumny, które należy pobrać.
Tabele to tabele, z których należy pobrać rekordy.
Warunki WHERE to warunki, które muszą zostać spełnione, aby można było pobrać rekordy.
Uwaga: Ponieważ operator UNION nie zwraca duplikatów, użycie UNION DISTINCT nie będzie miało wpływu na wyniki.
PostgreSQL Unia
Operator UNION usuwa duplikaty w taki sam sposób, jak WYBIERZ WYRÓŻNIENIE Tak. Pokażmy to. Mamy bazę danych o nazwie Demo z następującymi tabelami:
Książka:
Cena:
Uruchommy następujące polecenie:
SELECT id FROM Book UNION SELECT id FROM Price;
Polecenie zwróci następującą informację:
Kolumna id pojawia się zarówno w tabelach Książka, jak i Cena. Jednak w wyniku pojawia się tylko raz. Powód jest taki, że PostgreSQL Operator UNION nie zwraca duplikatów.
PostgreSQL Unia wszystkich
Ten operator łączy zestawy wyników z więcej niż jednego polecenia SELECT bez usuwania duplikatów. Operator wymaga, aby każde polecenie SELECT miało podobną liczbę pól w zestawach wyników podobnych typów danych.
Składnia:
SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)] UNION ALL SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)];
Oto wyjaśnienie powyższych parametrów:
Wyrażenie_1, wyrażenie_2,… wyrażenie_n to obliczenia lub kolumny, które należy pobrać.
Tabele to tabele, z których należy pobrać rekordy.
Warunki WHERE to warunki, które muszą zostać spełnione, aby można było pobrać rekordy.
Uwaga: Oba polecenia SELECT muszą zawierać taką samą liczbę wyrażeń.
Będziemy korzystać z następujących tabel:
Książka:
Cena:
Uruchom następujące polecenie:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Powinno zostać zwrócone:
Duplikaty nie zostały usunięte.
ZAMÓW PRZEZ
PostgreSQL Operator UNION może być używany razem z klauzulą ORDER BY, aby uporządkować wyniki zapytania. Aby to zademonstrować, użyjemy następujących tabel:
Cena:
Cena2:
Oto polecenie, które pokazuje, jak używać operatora UNION razem z klauzulą ORDER BY:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price;
Polecenie zwróci następującą informację:
Rekordy uporządkowano według kolumny ceny. Klauzula domyślnie porządkuje rekordy w kolejności rosnącej. Aby uporządkować je w kolejności malejącej, dodaj klauzulę DESC, jak pokazano poniżej:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
Polecenie zwróci następującą informację:
Rekordy zostały uporządkowane według kolumny ceny w kolejności malejącej.
Kiedy stosować Union, a kiedy Union All?
Użyj operatora UNION, jeśli masz wiele tabel o podobnej strukturze, ale podzielonych z jakiegoś powodu. Przydaje się, gdy musisz usunąć lub wyeliminować zduplikowane rekordy.
Operatora UNION ALL należy używać, jeśli nie ma potrzeby usuwania lub eliminowania zduplikowanych rekordów.
Korzystanie z pgAdmina
Zobaczmy teraz, jak wykonać wszystkie trzy czynności za pomocą pgAdmin.
Jak korzystać PostgreSQL Unia za pomocą pgAdmin
Poniżej przedstawiono krok po kroku proces korzystania z PostgreSQL UNION przez pgAdmin:
Krok 1) Zaloguj się na swoje konto pgAdmin.
Krok 2) Na pasku nawigacyjnym po lewej stronie kliknij Bazy danych, a następnie kliknij Demo.
Krok 3) Wpisz zapytanie w edytorze zapytań:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
Krok 4) Kliknij przycisk Wykonaj.
Powinno zostać zwrócone:
Unia wszystkich
Krok 1) Zaloguj się na swoje konto pgAdmin.
Krok 2) Na pasku nawigacyjnym po lewej stronie kliknij Bazy danych, a następnie kliknij Demo.
Krok 3) Wpisz zapytanie w edytorze zapytań:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Krok 4) Kliknij przycisk Wykonaj.
Powinno zostać zwrócone:
ZAMÓW PRZEZ
Operator UNION ALL można połączyć z klauzulą ORDER BY, aby uporządkować wyniki w zestawie wyników. Na przykład:
SELECT id FROM Book UNION ALL SELECT id FROM price ORDER BY id;
Polecenie zwróci następującą informację:
Wyniki zostały zamówione.
Pobierz bazę danych używaną w tym samouczku

















