PostgreSQL Union, Union VŠECHNY s příklady
⚡ Chytré shrnutí
PostgreSQL Funkce UNION kombinuje výsledky dvou nebo více příkazů SELECT do jedné sady výsledků a odstraňuje duplicitní řádky, zatímco UNION ALL zachovává všechny řádky, což nabízí rychlejší variantu v situacích, kdy na duplicitách nezáleží.

Co je to PostgreSQL Svaz?
Jedno PostgreSQL Operátor UNION se používá pro kombinování sad výsledků z více než jednoho příkazu SELECT do jedné sady výsledků. Všechny duplicitní řádky z výsledků příkazů SELECT jsou odstraněny. Operátor UNION pracuje za dvou podmínek:
- Dotazy SELECT musí vracet stejný počet sloupců.
- Datové typy všech odpovídajících sloupců musí být kompatibilní.
Operátor UNION se běžně používá ke kombinování dat ze souvisejících tabulek, které nebyly dokonale normalizovány.
Syntax
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)];
Zde je vysvětlení výše uvedených parametrů:
Výraz_1, výraz_2, … výraz_n jsou výpočty nebo sloupce, které potřebujete načíst.
Tabulky jsou tabulky, ze kterých potřebujete získat záznamy.
Podmínka(y) WHERE jsou podmínky, které musí být splněny, aby bylo možné záznamy načíst.
Poznámka: Protože operátor UNION nevrací duplikáty, použití operátoru UNION DISTINCT nebude mít žádný vliv na výsledky.
PostgreSQL svaz
Operátor UNION odstraňuje duplikáty stejným způsobem jako VYBERTE ROZDÍL ano. Ukažme si to. Máme databázi s názvem Demo s následujícími tabulkami:
Rezervovat:
Cena:
Spustíme následující příkaz:
SELECT id FROM Book UNION SELECT id FROM Price;
Příkaz vrátí následující:
Sloupec id se zobrazí v tabulkách Kniha i Cena. Ve výsledku se však objeví pouze jednou. Důvod je ten PostgreSQL Operátor UNION nevrací duplikáty.
PostgreSQL Union All
Tento operátor kombinuje sady výsledků z více než jednoho příkazu SELECT bez odstranění duplikátů. Operátor vyžaduje, aby každý příkaz SELECT měl podobný počet polí ve výsledných sadách podobných datových typů.
Syntaxe:
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)];
Zde je vysvětlení výše uvedených parametrů:
Výraz_1, výraz_2, … výraz_n jsou výpočty nebo sloupce, které potřebujete načíst.
Tabulky jsou tabulky, ze kterých potřebujete získat záznamy.
Podmínka(y) WHERE jsou podmínky, které musí být splněny, aby bylo možné záznamy načíst.
Poznámka: Oba příkazy SELECT musí mít stejný počet výrazů.
Použijeme následující tabulky:
Rezervovat:
Cena:
Spusťte následující příkaz:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Mělo by vrátit následující:
Duplikáty nebyly odstraněny.
SEŘADIT PODLE
Jedno PostgreSQL Operátor UNION lze použít společně s klauzulí ORDER BY k uspořádání výsledků dotazu. Abychom to demonstrovali, použijeme následující tabulky:
Cena:
Cena 2:
Zde je příkaz, který ukazuje, jak používat operátor UNION spolu s klauzulí ORDER BY:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price;
Příkaz vrátí následující:
Záznamy byly seřazeny podle sloupce ceny. Klauzule standardně řadí záznamy ve vzestupném pořadí. Chcete-li je seřadit sestupně, přidejte klauzuli DESC, jak je uvedeno níže:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
Příkaz vrátí následující:
Záznamy byly seřazeny podle sloupce ceny v sestupném pořadí.
Kdy použít Union a kdy Union All?
Operátor UNION použijte, pokud máte více tabulek s podobnou strukturou, ale z nějakého důvodu rozdělených. Je vhodný, když potřebujete odstranit nebo eliminovat duplicitní záznamy.
Operátor UNION ALL použijte, pokud nepotřebujete odstranit nebo eliminovat duplicitní záznamy.
Pomocí pgAdmin
Nyní se podívejme, jak se všechny tři akce provádějí pomocí pgAdmin.
Jak používat PostgreSQL Sjednocení pomocí pgAdmin
Následuje podrobný postup, jak jej používat PostgreSQL UNION přes pgAdmin:
Krok 1) Přihlaste se ke svému účtu pgAdmin.
Krok 2) V navigačním panelu vlevo klikněte na Databáze a poté na Demo.
Krok 3) Zadejte dotaz v editoru dotazů:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
Krok 4) Klepněte na tlačítko Spustit.
Mělo by vrátit následující:
Union All
Krok 1) Přihlaste se ke svému účtu pgAdmin.
Krok 2) V navigačním panelu vlevo klikněte na Databáze a poté na Demo.
Krok 3) Zadejte dotaz v editoru dotazů:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Krok 4) Klepněte na tlačítko Spustit.
Mělo by vrátit následující:
SEŘADIT PODLE
Operátor UNION ALL lze zkombinovat s klauzulí ORDER BY a seřadit výsledky ve výsledné sadě. Například:
SELECT id FROM Book UNION ALL SELECT id FROM price ORDER BY id;
Příkaz vrátí následující:
Výsledky byly objednány.
Stáhněte si databázi použitou v tomto kurzu

















