Der SQL UNION Operator kombiniert die Zeilen aus zwei oder mehr Abfragen.

SELECT Spalte FROM Tabelle A 
UNION
SELECT Spalte FROM TabelleB; 
SQL UNION

Die SELECT Anweisungen innerhalb des SQL UNIONs müssen dieselbe Anzahl an Spalten in der identischen Reihenfolge und dieselben Datentypen besitzen. Die Namen der Spalten können sich allerdings unterscheiden. Die Spaltennamen der ersten Abfrage werden übernommen.

Der UNION agiert wie eine SELECT DISTINCT Anweisung und gibt keine doppelten Werte aus. Wird hingegen ein UNION ALL benutzt, werden alle Werte, also auch Duplikate, ausgegeben.

Unterschiedlich zum JOIN kann UNION nicht zwei Zeilen zu einer zusammenfügen, sondern hängt nur zusätzliche Zeilen an die Abfrage.

SQL UNION - Beispiel

Ein Online-Händler benutzt für jedes Jahr eine neue Tabelle für seine Bestellungen. Für eine Datenanalyse der letzten drei Jahre braucht er die Tabellen für 2018, 2019 und 2020 als eine vereinigte Tabelle. Er möchte wissen, aus welchen Städten seine Kunden kommen.

SELECT Stadt FROM Bestellungen_2018
UNION
SELECT Stadt FROM Bestellungen_2019
UNION
SELECT Stadt FROM Bestellungen_2020; 

SQL UNION ALL - Beispiel

Dem Händler fällt auf, dass der UNION-Befehl keine Duplikate ausgibt. Er möchte nicht nur wissen, welche Städte vorkommen, sondern auch, wie häufig sie vorkommen. Auf DataMines findet er heraus, dass er dafür den UNION ALL Befehl braucht.

SELECT Stadt FROM Bestellungen_2018
UNION ALL
SELECT Stadt FROM Bestellungen_2019
UNION ALL
SELECT Stadt FROM Bestellungen_2020; 

Mit diesem Datensatz kann er mittels der Count-Funktion bestimmen, in welchen Städten in den letzten drei Jahren am häufigsten bestellt wurde.

ARTIKEL TEILEN

Hast du Fragen? Hinterlasse einen Kommentar!