Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied zwischen Union und Union All

Der Unterschied zwischen Union und Union All

巴扎黑
巴扎黑Original
2016-11-29 12:00:331476Durchsuche

Der Unterschied zwischen Union und Union All

Wenn wir die Ergebnisse von zwei ausgewählten Anweisungen als Ganzes anzeigen müssen, müssen wir das Schlüsselwort Union oder Union All verwenden. Die Funktion von Union (oder Union) besteht darin, mehrere Ergebnisse zu kombinieren und gemeinsam anzuzeigen.

Der Unterschied zwischen Union und Union All besteht darin, dass Union automatisch doppelte Ergebnisse in mehreren Ergebnissätzen komprimiert, während Union All alle Ergebnisse anzeigt, unabhängig davon, ob es sich um Duplikate handelt.


Union: Vereinigung zweier Ergebnismengen, ohne doppelte Zeilen und Sortierung nach Standardregeln

Union All: Vereinigung zweier Ergebnismengen Operationen, einschließlich doppelter Zeilen, ohne Sortierung;

Schnittmenge: Führen Sie eine Schnittmenge für zwei Ergebnismengen aus, ohne doppelte Zeilen, und führen Sie gleichzeitig eine Sortierung nach Standardregeln durch.

Minus: Führen Sie eine Schnittmenge für zwei Ergebnismengen aus, mit Ausnahme Duplizieren Sie Zeilen und führen Sie eine Sortierung nach Standardregeln durch. Die Ergebnismenge führt eine Differenzoperation aus, schließt doppelte Zeilen aus und sortiert nach Standardregeln.

Sie können die Order by-Klausel im letzten Ergebnissatz angeben, um die Sortiermethode zu ändern.

Zum Beispiel:

Mitarbeiter_ID,Job_ID aus Mitarbeiter auswählen
Gewerkschaft
Mitarbeiter_ID,Job_ID aus Job_Verlauf auswählen

Oben werden die Ergebnisse der beiden Tabellen kombiniert. Diese beiden Beispiele komprimieren die doppelten Werte in den Ergebnissen der beiden SELECT-Anweisungen, dh die Ergebnisdaten sind nicht die Summe der Anzahl der beiden Ergebnisse. Wenn Sie doppelte Ergebnisse anzeigen möchten, können Sie Union All verwenden, zum Beispiel:

2 Im Scott-Benutzer von Oracle gibt es eine Tabelle emp
select * from emp, wobei deptno >= 20
union all
select * from emp where deptno <= 30
Die Ergebnisse hier haben viele doppelte Werte.

Zu den Schlüsselwörtern Union und Union All sind Folgendes zu beachten:

Sowohl Union als auch Union All können mehrere Ergebnismengen zusammenführen, nicht nur zwei. Sie können mehrere Ergebnismengen miteinander kombinieren.
Bei Verwendung von Union und Union All müssen Sie sicherstellen, dass die Ergebnisse jedes Auswahlsatzes die gleiche Anzahl von Spalten haben und der Typ jeder Spalte derselbe ist. Die Spaltennamen müssen jedoch nicht unbedingt identisch sein. Oracle verwendet den Spaltennamen des ersten Ergebnisses als Spaltennamen der Ergebnismenge. Das Folgende ist beispielsweise ein Beispiel:
select empno,ename from emp
union
select deptno,dname from dept
Wir müssen die order by-Klausel nicht in jeder Auswahlergebnismenge verwenden Sortieren, wir Sie können am Ende eine Reihenfolge nach verwenden, um das gesamte Ergebnis zu sortieren. Zum Beispiel:
select empno,ename from emp
union
select deptno,dname from dept
order by ename;


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn