UNION und UNION ALL

UNION und UNION ALL sind SQL-Befehle, mit denen Ergebnismengen aus mehreren SELECT-Abfragen kombiniert werden können. Dabei müssen diese Abfragen die gleiche Anzahl an Spalten mit denselben oder zumindest kompatiblen Datentypen zurückgeben.

UNION

Definition: UNION kombiniert die Ergebnisse von zwei oder mehr SELECT-Abfragen in eine einzige Ergebnismenge. Dabei werden doppelte Datensätze automatisch entfernt.

Beispiel: Angenommen, wir haben zwei Tabellen – TabelleA und TabelleB. Beide haben eine Spalte namens „Stadt“.

SELECT Stadt FROM TabelleA
UNION
SELECT Stadt FROM TabelleB;

Wenn TabelleA die Städte „Berlin“ und „München“ enthält und TabelleB die Städte „München“ und „Hamburg“, dann gibt die Abfrage die Städte „Berlin“, „München“ und „Hamburg“ zurück (nicht in einer bestimmten Reihenfolge).


UNION ALL

Definition: UNION ALL macht dasselbe wie UNION, jedoch ohne die Entfernung von Duplikaten. Es kann also schneller sein, weil keine De-Duplizierung erforderlich ist.

Beispiel:

SELECT Stadt FROM TabelleA
UNION ALL
SELECT Stadt FROM TabelleB;

Mit denselben Daten in TabelleA und TabelleB wie im obigen Beispiel gibt die Abfrage „Berlin“, „München“, „München“ und „Hamburg“ zurück.


Unterschiede zwischen den Datenbanksystemen:

  1. MSSQL (Microsoft SQL Server):
    • Unterstützt sowohl UNION als auch UNION ALL.
    • Die Reihenfolge der Ergebnisse ist nicht garantiert, es sei denn, es wird eine ORDER BY-Klausel hinzugefügt (die ORDER BY-Klausel sollte nach dem letzten SELECT-Statement stehen).
  2. Oracle:
    • Unterstützt sowohl UNION als auch UNION ALL.
    • Ähnlich wie bei MSSQL ist die Reihenfolge der Ergebnisse ohne ORDER BY nicht garantiert.
  3. IBM DB2:
    • Unterstützt auch beide Befehle.
    • Die Syntax und das Verhalten sind im Wesentlichen konsistent mit den anderen Systemen.
  4. Teradata:
    • Unterstützt ebenfalls UNION und UNION ALL.
    • Wiederum ist die Reihenfolge der Ergebnisse nicht garantiert, wenn keine ORDER BY-Klausel verwendet wird.

UNION und UNION ALL sind in allen vier Datenbanksystemen verfügbar und funktionieren ähnlich. Der Hauptunterschied zwischen den beiden ist das De-Duplizieren von Datensätzen bei UNION. Es ist immer wichtig, die spezifische Dokumentation des jeweiligen Datenbanksystems zu konsultieren, da es subtile Unterschiede oder zusätzliche Funktionen geben kann.

Wie hat dir der Artikel gefallen?

Vielen Dank für dein Feedback!
About Frank 83 Articles

Ich bin Frank, Data Warehouse und BI-Entwickler mit langjähriger Expertise in diesem Bereich. Ich verfüge über mehr als 20 Jahre Berufserfahrung im DWH Umfeld. Das Analysieren und Interpretieren von Zahlen, Daten und Fakten ist meine große Leidenschaft, aus diesem Grunde ist auch diese Seite hier entstanden.

Be the first to comment

Leave a Reply

Your email address will not be published.


*