SQL Server UNION (Deutsch)

Zusammenfassung: In diesem Tutorial erfahren Sie, wie Sie mit SQL Server UNION die Ergebnisse von zwei oder mehr Abfragen zu einer einzigen Ergebnismenge kombinieren.

Einführung in die SQL Server UNION

SQL Server UNION ist eine der gesetzten Operationen, mit denen Sie die Ergebnisse zweier SELECT – Anweisungen zu einer einzigen Ergebnismenge kombinieren können, die alle Zeilen enthält, die zu den SELECT – Anweisungen in der Union gehören.,

Das Folgende veranschaulicht die Syntax des SQL Servers UNION:

Code language: SQL (Structured Query Language) (sql)

Die folgenden Anforderungen sind für die Abfragen in der obigen Syntax erforderlich:

  • Die Nummer und die Reihenfolge der Spalten müssen in beiden Abfragen gleich sein.
  • Die Datentypen der entsprechenden Spalten müssen identisch oder kompatibel sein.

Das folgende Venn-Diagramm veranschaulicht, wie sich die Ergebnismenge der T1-Tabelle mit der Ergebnismenge der T2-Tabelle vereinigt:

UNION vs., UNION ALL

Standardmäßig entfernt der Operator UNION alle doppelten Zeilen aus den Ergebnismengen. Wenn Sie jedoch die doppelten Zeilen beibehalten möchten, müssen Sie das Schlüsselwort ALL explizit angeben, wie unten gezeigt:

Code language: SQL (Structured Query Language) (sql)

Mit anderen Worten, der Operator UNION entfernt die doppelten Zeilen, während der Operator UNION ALL die doppelten Zeilen in der endgültigen Ergebnismenge enthält.

UNION vs., JOIN

Der Join wie INNER JOIN oder LEFT JOIN kombiniert Spalten aus zwei Tabellen, während die UNION Zeilen aus zwei Abfragen kombiniert.

Mit anderen Worten, join hängt die Ergebnismengen horizontal an, während union die Ergebnismenge vertikal anfügt.,div id=“7f8c7e0c1a“>

SQL Server UNION examples

See the following staffs and customers tables from the sample database:

UNION and UNION ALL examples

The following example combines names of staffs and customers into a single list:

It returns 1,454 rows.,

Die Tabelle staffs enthält 10 Zeilen und die Tabelle customers 1.445 Zeilen, wie in den folgenden Abfragen gezeigt:

Da die Ergebnismenge der Union nur 1.454 Zeilen zurückgibt, wurde eine doppelte Zeile entfernt.

Um die doppelte Zeile einzuschließen, verwenden Sie die UNION ALL wie in der folgenden Abfrage gezeigt:

Die Abfrage gibt erwartungsgemäß 1.455 Zeilen zurück.,

UNION und ORDER BY example

Um die vom Operator UNION zurückgegebene Ergebnismenge zu sortieren, platzieren Sie die Klausel ORDER BY in der letzten Abfrage wie folgt:

Code language: SQL (Structured Query Language) (sql)

Um beispielsweise die Vor-und Nachnamen von Kunden und Mitarbeitern zu sortieren, verwenden Sie die folgende Abfrage:

In diesem Tutorial haben Sie gelernt, wie Sie mit der SQL Server UNION Zeilen aus mehreren Abfragen zu einer einzigen Ergebnismenge kombinieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.