Welcome to Our Website

MySQL UNION (Deutsch)

Zusammenfassung: In diesem Tutorial erfahren Sie, wie Sie den Operator MySQL UNION verwenden, um zwei oder mehr Ergebnismengen aus mehreren SELECT – Anweisungen in einer einzigen Ergebnismenge zu kombinieren.

MySQL UNION operator

MySQL UNION Mit dem Operator können Sie zwei oder mehr Ergebnismengen von Abfragen zu einer einzigen Ergebnismenge kombinieren., Im Folgenden wird die Syntax des Operators UNION veranschaulicht:

Um die Ergebnismenge von zwei oder mehr Abfragen mit dem Operator UNION zu kombinieren, müssen Sie folgende Grundregeln befolgen:

  • Zuerst müssen die Anzahl und die Reihenfolge der Spalten in allen SELECT – Anweisungen identisch sein.
  • Zweitens müssen die Datentypen der Spalten gleich oder kompatibel sein.,

Standardmäßig entfernt der Operator UNION doppelte Zeilen, auch wenn Sie den Operator DISTINCT nicht explizit angeben.,

Sehen wir uns die folgenden Beispieltabellen an: t1 und t2:

Die folgende Anweisung kombiniert Ergebnismengen, die von t1 und t2 Tabellen zurückgegeben werden:

Code language: SQL (Structured Query Language) (sql)

Die endgültige die Ergebnismenge enthält die unterschiedlichen Werte aus separaten Ergebnismengen, die von den Abfragen zurückgegeben werden:

Code language: SQL (Structured Query Language) (sql)

Da die Zeilen mit den Werten 2 und 3 Duplikate sind, hat die UNION sie entfernt und nur eindeutige Werte beibehalten.,

Das folgende Venn-Diagramm veranschaulicht die Vereinigung zweier Ergebnismengen, die von t1 und t2 Tabellen stammen:

Wenn Sie verwenden Sie die UNION ALL explizit, die doppelten Zeilen bleiben, falls verfügbar, im Ergebnis. Da UNION ALL keine Duplikate verarbeiten muss, funktioniert es schneller als UNION DISTINCT .,

Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)

Wie Sie sehen, werden die Duplikate in der kombinierten Ergebnismenge aufgrund der Operation angezeigt.

UNION vs. JOIN

A JOIN kombiniert Ergebnismengen horizontal, a UNION hängt Ergebnismengen vertikal an.,ple-Datenbank für die Demonstration:

Angenommen, Sie möchten den Vor-und Nachnamen von Mitarbeitern und Kunden zu einer einzigen Ergebnismenge kombinieren, können Sie den Operator UNION wie folgt verwenden:

Code language: SQL (Structured Query Language) (sql)

Wie Sie an der Ausgabe sehen können, verwendet die MySQL UNION die Spaltennamen der ersten SELECT Anweisung für die Spaltenüberschriften der Ausgabe.,

Wenn Sie andere Spaltenüberschriften verwenden möchten, müssen Sie Spaltenaliase explizit in der erstenSELECT – Anweisung verwenden, wie im folgenden Beispiel gezeigt:

Dieses Beispiel verwendet die Spaltenüberschrift der ersten Abfrage für die Ausgabe. Es verwendet die Funktion CONCAT(), um Vorname, Leerzeichen und Nachnamen zu einem vollständigen Namen zu verketten.,

MySQL UNION und ORDER BY

Wenn Sie die Ergebnismenge einer Union sortieren möchten, verwenden Sie eine ORDER BY – Klausel in der letzten SELECT – Anweisung, wie im folgenden Beispiel gezeigt:

Wenn Sie die ORDER BY – Klausel in jede SELECT – Anweisung einfügen, hat dies keinen Einfluss auf die Reihenfolge der Zeilen in der Endergebnismenge.,

Um zwischen Mitarbeitern und Kunden zu unterscheiden, können Sie eine Spalte hinzufügen, wie in der folgenden Abfrage gezeigt:

MySQL bietet Ihnen auch eine alternative Möglichkeit, eine Ergebnismenge basierend auf der Spaltenposition mit der Klausel ORDER BY wie folgt zu sortieren:Es ist jedoch keine gute Praxis, die Ergebnismenge nach Spaltenposition zu sortieren.

In diesem Tutorial haben Sie gelernt, wie Sie MySQL UNION Anweisung verwenden, um Daten aus mehreren Abfragen in einer einzigen Ergebnismenge zu kombinieren.,

  • War dieses tutorial hilfreich?
  • YesNo

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.