PostgreSQL Union, Union ALL mit Beispielen
โก Intelligente Zusammenfassung
PostgreSQL UNION kombiniert die Ergebnisse von zwei oder mehr SELECT-Anweisungen zu einem einzigen Resultset und entfernt doppelte Zeilen, wรคhrend UNION ALL jede Zeile beibehรคlt und somit eine schnellere Option darstellt, wenn Duplikate keine Rolle spielen.

Was ist PostgreSQL Union?
Das PostgreSQL Der UNION-Operator wird verwendet, um Ergebnismengen aus mehreren SELECT-Anweisungen in einer Ergebnismenge zu kombinieren. Alle doppelten Zeilen aus den Ergebnissen der SELECT-Anweisungen werden eliminiert. Der UNION-Operator funktioniert unter zwei Bedingungen:
- Die SELECT-Abfragen mรผssen die gleiche Anzahl an Spalten zurรผckgeben.
- Die Datentypen aller entsprechenden Spalten mรผssen kompatibel sein.
Der UNION-Operator wird normalerweise verwendet, um Daten aus verwandten Tabellen zu kombinieren, die nicht perfekt normalisiert wurden.
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)];
Hier ist eine Erklรคrung fรผr die oben genannten Parameter:
expression_1, expression_2, โฆ expression_n sind die Berechnungen oder Spalten, die Sie abrufen mรผssen.
Die Tabellen sind die Tabellen, aus denen Sie Datensรคtze abrufen mรผssen.
Die WHERE-Bedingung(en) sind die Bedingungen, die erfรผllt sein mรผssen, damit Datensรคtze abgerufen werden kรถnnen.
Hinweis: Da der UNION-Operator keine Duplikate zurรผckgibt, hat die Verwendung von UNION DISTINCT keinen Einfluss auf das Ergebnis.
PostgreSQL Union
Der UNION-Operator entfernt Duplikate, auf die gleiche Weise wie SELECT DISTINCT Das tun wir. Lassen Sie uns das demonstrieren. Wir haben eine Datenbank namens Demo mit den folgenden Tabellen:
Buch:
Preis:
Lassen Sie uns den folgenden Befehl ausfรผhren:
SELECT id FROM Book UNION SELECT id FROM Price;
Der Befehl gibt Folgendes zurรผck:
Die ID-Spalte erscheint sowohl in der Buch- als auch in der Preistabelle. Es erscheint jedoch nur einmal im Ergebnis. Der Grund ist, dass PostgreSQL Der UNION-Operator gibt keine Duplikate zurรผck.
PostgreSQL Union all
Dieser Operator kombiniert Ergebnismengen aus mehreren SELECT-Anweisungen, ohne Duplikate zu entfernen. Der Operator erfordert, dass jede SELECT-Anweisung eine รคhnliche Anzahl von Feldern in Ergebnismengen mit รคhnlichen Datentypen enthรคlt.
Syntax:
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)];
Hier ist eine Erklรคrung fรผr die oben genannten Parameter:
expression_1, expression_2, โฆ expression_n sind die Berechnungen oder Spalten, die Sie abrufen mรผssen.
Die Tabellen sind die Tabellen, aus denen Sie Datensรคtze abrufen mรผssen.
Die WHERE-Bedingung(en) sind die Bedingungen, die erfรผllt sein mรผssen, damit Datensรคtze abgerufen werden kรถnnen.
Hinweis: Beide SELECT-Anweisungen mรผssen die gleiche Anzahl an Ausdrรผcken enthalten.
Wir werden die folgenden Tabellen verwenden:
Buch:
Preis:
Fรผhren Sie den folgenden Befehl aus:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Es sollte Folgendes zurรผckgeben:
Die Duplikate wurden nicht entfernt.
SORTIEREN NACH
Das PostgreSQL Der UNION-Operator kann zusammen mit der ORDER BY-Klausel verwendet werden, um die Abfrageergebnisse zu sortieren. Um dies zu demonstrieren, verwenden wir die folgenden Tabellen:
Preis:
Preis2:
Hier ist der Befehl, der zeigt, wie der UNION-Operator zusammen mit der ORDER BY-Klausel verwendet wird:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price;
Der Befehl gibt Folgendes zurรผck:
Die Datensรคtze wurden nach der Preisspalte sortiert. Die Klausel ordnet die Datensรคtze standardmรครig in aufsteigender Reihenfolge. Um sie in absteigender Reihenfolge anzuordnen, fรผgen Sie die DESC-Klausel wie unten gezeigt hinzu:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
Der Befehl gibt Folgendes zurรผck:
Die Datensรคtze wurden basierend auf der Preisspalte in absteigender Reihenfolge sortiert.
Wann verwendet man Union und wann Union All?
Verwenden Sie den UNION-Operator, wenn Sie mehrere Tabellen mit รคhnlicher Struktur haben, die aus einem bestimmten Grund aufgeteilt wurden. Er eignet sich gut, um doppelte Datensรคtze zu entfernen.
Verwenden Sie den Operator UNION ALL, wenn Sie keine doppelten Datensรคtze entfernen oder eliminieren mรผssen.
Verwenden von pgAdmin
Schauen wir uns nun an, wie alle drei Aktionen mit pgAdmin durchgefรผhrt werden.
Anleitung von PostgreSQL Union mit pgAdmin
Im Folgenden finden Sie eine schrittweise Anleitung zur Verwendung. PostgreSQL UNION รผber pgAdmin:
Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.
Schritt 2) Klicken Sie in der Navigationsleiste auf der linken Seite auf Datenbanken und anschlieรend auf Demo.
Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
Schritt 4) Klicken Sie auf die Schaltflรคche โAusfรผhrenโ.
Es sollte Folgendes zurรผckgeben:
Union all
Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.
Schritt 2) Klicken Sie in der Navigationsleiste auf der linken Seite auf Datenbanken und anschlieรend auf Demo.
Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Schritt 4) Klicken Sie auf die Schaltflรคche โAusfรผhrenโ.
Es sollte Folgendes zurรผckgeben:
SORTIEREN NACH
Der UNION ALL-Operator kann mit der ORDER BY-Klausel kombiniert werden, um die Ergebnisse im Ergebnissatz zu sortieren. Beispiel:
SELECT id FROM Book UNION ALL SELECT id FROM price ORDER BY id;
Der Befehl gibt Folgendes zurรผck:
Die Ergebnisse sind bestellt.
Laden Sie die in diesem Tutorial verwendete Datenbank herunter

















