logo

Unterschied zwischen Union und Union All

UNION und UNION ALL sind die beiden wichtigsten SQL-Operatoren, die in der Datenbank zum Kombinieren der Ergebnismenge aus mehreren Tabellen verwendet werden. Mit diesen Operatoren können wir mehrere SELECT-Abfragen verwenden, die gewünschten Ergebnisse abrufen und sie dann zu einer endgültigen Ausgabe kombinieren . In diesem Artikel werden wir sehen, wie sie sich voneinander unterscheiden. Bevor wir einen Vergleich anstellen, werden wir kurz auf diese Operatoren eingehen.

Was ist ein Unionsbetreiber?

Der Union-Operator in MySQL ermöglicht es uns, zwei oder mehr Ergebnisse aus mehreren SELECT-Abfragen in einer einzigen Ergebnismenge zu kombinieren. Es verfügt über eine Standardfunktion Entfernen Sie die doppelten Zeilen aus den Tischen. Diese Operatorsyntax verwendet immer den Namen der Spalte in der ersten SELECT-Anweisung als Spaltennamen der Ausgabe.

MySQL Die Union muss diese Grundregeln befolgen:

Java-Lokaldatum
  • Die Anzahl und Reihenfolge der Spalten sollte in allen Abfragen gleich sein.
  • Die entsprechende Spaltenposition jeder Auswahlabfrage muss einen kompatiblen Datentyp haben.
  • Der in den verschiedenen SELECT-Abfragen ausgewählte Spaltenname muss in derselben Reihenfolge vorliegen.
  • Der Spaltenname der ersten SELECT-Abfrage ist der Spaltenname der Ausgabe.

HINWEIS: Wir müssen wissen, dass Union und Join unterschiedlich sind.

  1. JOIN kombiniert Daten aus mehreren verschiedenen Tabellen, während UNION Daten aus mehreren ähnlichen Tabellen kombiniert.
  2. JOIN hängt die Ausgabe horizontal an, während UNION die Ergebnismenge vertikal kombiniert.

Die folgende visuelle Darstellung erklärt es deutlicher:

Union gegen Union All

Um weitere Informationen über den Union-Betreiber zu lesen, klicken Sie hier.

Was ist Union All?

Der UNION ALL-Operator kombiniert zwei oder mehr Ergebnisse aus mehreren SELECT-Abfragen und gibt alle Datensätze in einem einzigen Ergebnissatz zurück. Die doppelten Zeilen werden nicht aus der Ausgabe der SELECT-Anweisungen entfernt.

Wir können es anhand der folgenden visuellen Darstellung verstehen.

schnelles Sortieren von Java
Union gegen Union All

Union vs. Union All Operator

In der folgenden Vergleichstabelle werden die wichtigsten Unterschiede kurz erläutert:

UNION UNION ALLE
Es kombiniert die Ergebnismenge aus mehreren Tabellen und gibt unterschiedliche Datensätze zurück in einen einzigen Ergebnissatz. Es kombiniert die Ergebnismenge aus mehreren Tabellen und gibt alle Datensätze zurück in einen einzigen Ergebnissatz.
Im Folgenden finden Sie die Grundlagen Syntax des UNION-Betreibers:
SELECT columns_list FROM table1
UNION
SELECT columns_list FROM table2;
Im Folgenden finden Sie die Grundlagen Syntax des UNION ALL-Operators:
SELECT columns_list FROM table1
UNION ALLE
SELECT columns_list FROM table2;
Es verfügt über eine Standardfunktion zum Entfernen doppelter Zeilen aus der Ausgabe. Es gibt keine Funktion zum Entfernen doppelter Zeilen aus der Ausgabe.
Es ist Die Leistung ist langsam weil es Zeit braucht, doppelte Datensätze zu finden und dann zu entfernen. Es ist Die Leistung ist schnell weil dadurch die doppelten Zeilen nicht entfernt werden.
Die meisten Datenbankbenutzer bevorzugen die Verwendung dieses Operators. Die meisten Datenbankbenutzer bevorzugen die Verwendung dieses Operators nicht.

Union und Union All Beispiel

Lassen Sie uns die Unterschiede zwischen den Operatoren Union und Union All anhand eines Beispiels verstehen. Angenommen, wir haben eine Tabelle mit dem Namen ' Student ' Und ' Student2 ', das folgende Daten enthält:

Tabelle: Student

Union gegen Union All

Tabelle: Student2

Union gegen Union All

Die folgende SQL-Anweisung gibt Folgendes zurück eindeutiger Name von Städten aus beiden Tabellen mit der UNION-Abfrage:

10 von 1 Million
 SELECT City FROM student UNION SELECT City FROM student2 ORDER BY City; 

Nachdem wir die obige Anweisung ausgeführt haben, erhalten wir die folgende Ausgabe, da der Union-Operator nur die unterschiedlichen Werte zurückgibt.

Union gegen Union All

Die folgende SQL-Anweisung wird zurückgegeben Alle Städtenamen, einschließlich Duplikate aus beiden Tabellen mit der UNION ALL-Abfrage:

 SELECT City FROM student UNION ALL SELECT City FROM student2 ORDER BY City; 

Nachdem wir die obige Anweisung ausgeführt haben, erhalten wir die folgende Ausgabe, da der Union All-Operator ganze Datensätze zurückgibt, ohne unterschiedliche Werte zu eliminieren.

Union gegen Union All