SQL-Unterschied zwischen den Operatoren Union, Union All und Union Distinct

Sql Unterschied Zwischen Den Operatoren Union Union All Und Union Distinct



SQL stellt uns den UNION-Operator zur Verfügung, der es uns ermöglicht, die Ergebnismengen von zwei oder mehr SELECT-Anweisungen in einer einzigen Ergebnismenge zu kombinieren. Es gibt drei Haupttypen von UNION-Operatoren in SQL: UNION, UNION ALL und UNION DISTINCT.

Dieses Tutorial untersucht diese drei Arten von UNIONS und bietet reale und praktische Beispiele für die Arbeit mit ihnen.







NOTIZ: In diesem Beispiel verwenden wir die Beispieldatenbank Sakila zu Demonstrationszwecken. Stellen Sie sicher, dass Sie es installiert haben, bevor Sie diese Befehle ausführen. Sie können sich unser Tutorial dazu ansehen, um mehr zu erfahren.



SQL UNION-Operator

Wie bereits erwähnt, ermöglicht uns der UNION-Operator, die Ergebnismenge von zwei oder mehr SELECT-Anweisungen zu kombinieren und die doppelten Werte zu entfernen. Die Syntax des UNION-Operators lautet wie folgt:



SELECT Spalte1, Spalte2, ...
AUS Tabelle1
UNION
SELECT Spalte1, Spalte2, ...
VON Tabelle2;


In der vorherigen Beispielsyntax verwenden wir die SELECT-Anweisungen, um die Daten aus den angegebenen Tabellen abzurufen. Der UNION-Operator kombiniert dann die beiden Ergebnismengen zu einer Menge. Nehmen wir ein Beispiel dafür, wie das geht, indem wir die in der Sakila-Datenbank definierte Akteurtabelle verwenden.





Betrachten Sie die folgende Beispielabfrage, die den Vor- und Nachnamen der Akteure aus der Akteurtabelle und der Kundentabelle abruft:

SELECT Vorname, Nachname
VON Schauspieler
UNION
SELECT Vorname, Nachname
VOM Kunden; SELECT Vorname, Nachname
VON Schauspieler
UNION
SELECT Vorname, Nachname
VOM Kunden;


Die vorherige Abfrage ermittelt den Vor- und Nachnamen sowohl aus der Akteur- als auch der Kundentabelle und gibt die Werte als einzelnes Ergebnis zurück.



Eine Beispielausgabe sieht wie folgt aus:

SQL UNION ALL-Operator

Im Gegensatz zum UNION-Operator, der die doppelten Werte aus der Ergebnismenge entfernt, gibt der UNION-Operator alle Tabellenzeilen einschließlich der Duplikate zurück.

Die Syntax lautet wie folgt:

SELECT Spalte1, Spalte2, ...
AUS Tabelle1
UNION ALLE
SELECT Spalte1, Spalte2, ...
VON Tabelle2;


Das folgende Beispiel wählt den Vor- und Nachnamen aus den Schauspieler- und Kundentabellen in der Sakila-Datenbank aus:

SELECT Vorname, Nachname
VON Schauspieler
UNION ALLE
SELECT Vorname, Nachname
VOM Kunden;


Eine Beispielausgabe sieht wie folgt aus:

SQL UNION DISTINCT-Operator

Der andere Typ von Unionsoperator ist UNION DISTINCT. Dieser Operator ist einfach ein Duplikat des UNION-Operators, der eine ähnliche Aktion ausführt.

Die Syntax lautet wie folgt:

SELECT Spalte1, Spalte2, ...
AUS Tabelle1
UNION UNTERSCHIEDLICH
SELECT Spalte1, Spalte2, ...
VON Tabelle2;


Die SELECT-Anweisungen rufen die Daten aus den angegebenen Tabellen ab, und der UNION DISTINCT-Operator kombiniert die Ergebnismengen zu einer einzigen Ergebnismenge, die die eindeutigen Zeilen enthält.

Im Beispiel der Sakila-Datenbank können wir den folgenden Befehl ausführen:

SELECT Vorname, Nachname
VON Schauspieler
UNION UNTERSCHIEDLICH
SELECT Vorname, Nachname
VOM Kunden;


Dies sollte ein ähnliches Ergebnis wie der UNION-Operator zurückgeben.

Abschluss

Wir haben gelernt, wie man mit den verschiedenen Arten von UNIONS in SQL arbeitet. Der UNION-Operator kombiniert die Ergebnismenge von zwei oder mehr SELECT-Anweisungen und entfernt die doppelten Datensätze. UNION ALL führt eine ähnliche Aktion aus, schließt jedoch alle doppelten Zeilen ein. Schließlich ist UNION DISTINCT identisch mit einem nativen UNION-Operator.