Heim  >  Artikel  >  Datenbank  >  Der Unterschied zwischen Union und Union All in SQL

Der Unterschied zwischen Union und Union All in SQL

下次还敢
下次还敢Original
2024-05-02 02:57:17895Durchsuche

UNION gibt nur eindeutige Zeilen zurück, während UNION ALL doppelte Zeilen enthält; UNION dedupliziert vor dem Zusammenführen, UNION ALL dedupliziert jedoch keine Zeilen.

Der Unterschied zwischen Union und Union All in SQL

Unterschied zwischen UNION und UNION ALL in SQL

UNION und UNION ALL sind SQL-Operatoren, die zum Zusammenführen von Zeilen aus zwei oder mehr Tabellen verwendet werden. Es gibt jedoch grundlegende Unterschiede im Umgang mit doppelten Zeilen.

UNION

  • Nur eindeutige (nicht doppelte) Zeilen in der Ergebnistabelle zurückgeben.
  • Vor dem Zusammenführen der Tabellen werden die Zeilen in jeder Tabelle dedupliziert.
  • Wenn in einer Tabelle doppelte Zeilen vorhanden sind, werden diese nur einmal in der Ergebnistabelle angezeigt.

UNION ALL

  • Gibt alle Zeilen zurück, einschließlich doppelter Zeilen.
  • Es werden keine Zeilen in einzelnen Tabellen dedupliziert.
  • Wenn in einer Tabelle doppelte Zeilen vorhanden sind, werden diese in der Ergebnistabelle mehrmals angezeigt.

Beispiel

Angenommen, es gibt zwei Tabellen T1 und T2, wie unten gezeigt:

<code>T1:
+----+----+
| ID | Name |
+----+----+
| 1  | John |
| 2  | Susan |
| 3  | Mary |
+----+----+

T2:
+----+----+
| ID | Name |
+----+----+
| 2  | Susan |
| 4  | Bob |
+----+----+</code>

Wenn Sie diese beiden Tabellen mit dem UNION-Operator zusammenführen:

<code>SELECT * FROM T1 UNION SELECT * FROM T2;</code>

Das Ergebnis ist:

<code>+----+----+
| ID | Name |
+----+----+
| 1  | John |
| 2  | Susan |
| 3  | Mary |
| 4  | Bob |
+----+----+</code>

wobei die doppelten Zeilen ( ID = 2, Name = Susan) wurde gelöscht.

Wenn Sie diese beiden Tabellen mit dem UNION ALL-Operator zusammenführen:

<code>SELECT * FROM T1 UNION ALL SELECT * FROM T2;</code>

Das Ergebnis wird sein:

<code>+----+----+
| ID | Name |
+----+----+
| 1  | John |
| 2  | Susan |
| 2  | Susan |
| 3  | Mary |
| 4  | Bob |
+----+----+</code>

wobei die doppelten Zeilen bereits im Ergebnis enthalten sind.

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen Union und Union All in SQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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