Postgresql Union All Query

Postgresql Union All Query

Ten samouczek pokaże, jak używać PostgreSQL Union i Union WSZYSTKIE zapytania, aby połączyć wyniki z wybranych stwierdzeń.

Jak działa zapytanie Union Postgresql

Zapytanie Postgresql jest dość proste. Działa poprzez połączenie dwóch lub więcej WYBIERAĆ wynik danych, aby utworzyć jeden większy zestaw.

Na przykład, jeśli weźmiemy jeden wynik instrukcji Select jako x i wynik innej instrukcji wybranej jako y, wynikowy UNIA z tych dwóch stwierdzeń jest suma obu Wybierz X i Y bez żadnych duplikatów.

Podstawowe użycie

Ogólna składnia dla Zapytanie Unii w PostgreSQL Jest:

Wybierz col1, col2, col3,… coln z TB1 Union Select col1, col2, col3,… coln z tb2, gdzie stan;

Chociaż w większości wybierasz określone kolumny, możesz przekazać inne prawidłowe wyrażenia PostgreSQL do instrukcji Select.

Przykład zapytania PostgreSQL Union

Zilustrujmy, jak korzystać z Zapytanie Unii Używając prostego przykładu.

Zacznij od utworzenia przykładowej bazy danych i zapełnienie jej przykładowymi danymi, jak pokazano w poniższych zapytaniach:

Zrzuć bazę danych, jeśli istnieje Union_DB;
Utwórz bazę danych Union_DB;
Tabela upuszcza, jeśli istnieje top_database;
Utwórz tabelę top_database (
ID Serial,
db_name varchar, a nie null
);
Tabela upuszczania, jeśli istnieje all_db;
Utwórz tabelę all_db (
ID Serial,
db_name varchar
);
Wstaw do top_database (db_name) wartości („mysql”), („postgresql”), („Microsoft SQL Server”), ('sqlite'), ('MongoDB');
Wstaw do all_db (db_name) wartości („mysql”), („elasticsearch”), („sqlite”), („dynamoDB”), („redis”);

Korzystając z powyższej przykładowej bazy danych i tabel, możemy wykonać UNIA Jak:

Wybierz * z TOP_DB Union TOP_DATABASE;

Powyższe zapytanie powinno zwrócić pojedynczy zestaw z wartościami łącznymi, jak pokazano poniżej:

Aby uruchomić Zapytanie Unii Z powodzeniem określona liczba i kolejność kolumn w instrukcjach wybranych musi być podobna, a typy danych muszą być kompatybilne.

PostgreSQL Union All

Zapytanie podobne do Oświadczenie Unii jest wszystkim związkiem. To zapytanie działa w ten sam sposób UNIA robi, ale nie usuwa duplikatów z określonego zestawu.

Możemy zilustrować tę funkcjonalność za pomocą tego samego zapytania powyżej.

Wybierz * Z Unii All_DB All SELECT * Z TOP_DATABASE;

W takim przypadku powinniśmy zwrócić połączone wartości, w tym duplikaty, jak pokazano poniżej:

Wniosek

Obydwa Unii i Union All mają swoje konkretne przypadki użycia. Są one przydatne dla programistów, ponieważ ułatwiają agregowanie danych w różne zestawy.