Kombinieren Sie Informationen aus mehreren MySQL-Tabellen mit UNION

Sie können Informationen zu von mehr als einer MySQL-Tabelle kombinieren die durch die Verwendung UNION Abfrage. Mit UNION, Zeilen werden von einer oder mehreren Tabellen abgerufen und zusammen gespeichert werden, eine nach der anderen, in einem einzigen Ergebnis. Zum Beispiel, wenn Ihre Abfrage 6 Zeilen aus einer Tabelle ausgewählt und 5 Zeilen aus einer anderen Tabelle, wäre das Ergebnis 11 Zeilen enthalten.

UNION wird verwendet, um die Ergebnisse von zwei oder mehr Auswahlabfragen zu kombinieren. Die Ergebnisse aus jeder Abfrage werden die Ergebnismenge nach den Ergebnissen der vorherigen Abfrage hinzugefügt. Das Format der UNION Abfrage ist wie folgt:

WÄHLEN Abfrage UNION ALL SELECT Abfrage ...

Sie können beliebig viele kombinieren WÄHLEN wie Sie Abfragen benötigen. EIN WÄHLEN Abfrage kann eine beliebige gültige WÄHLEN Format, einschließlich WOHER Klauseln, GRENZE Klauseln, und so weiter. Die Regeln für die Abfragen sind

  • All die WÄHLEN Abfragen müssen die gleiche Anzahl von Spalten auswählen.

  • Die Spalten in der ausgewählten Abfragen müssen den gleichen Datentyp enthalten.

Die Ergebnismenge enthält alle Zeilen aus der ersten Abfrage, gefolgt von allen Zeilen aus der zweiten Abfrage, und so weiter. Die Spaltennamen in der Ergebnismenge verwendet, sind die Spaltennamen aus der ersten WÄHLEN Abfrage.

Die Serie von WÄHLEN Abfragen können verschiedene Spalten aus derselben Tabelle auswählen, aber Situationen, in denen Sie eine neue Tabelle in einer Tabelle mit einer Spalte soll durch eine andere Spalte aus derselben Tabelle gefolgt sind ungewöhnlich. Es ist viel wahrscheinlicher, dass Sie Spalten aus verschiedenen Tabellen kombinieren möchten.

Zum Beispiel könnten Sie eine Tabelle von Mitgliedern, die aus dem Verein ausgetreten sind (OldMember) Und eine separate Tabelle der aktuellen Mitglieder (Mitglied). Sie können eine Liste aller Mitglieder zu bekommen, sowohl aktuelle als auch zurückgetreten, mit der folgenden Abfrage:

SELECT Nachname, Vorname aus den Mitglied UNION ALLSELECT Nachname, Vorname VON OldMember

Das Ergebnis dieser Abfrage ist die letzte und Vornamen aller derzeitigen Mitglieder, gefolgt von den Namen und Vornamen aller Mitglieder, die ausgetreten sind.

Je nachdem, wie Sie Ihre Daten organisiert, können Sie doppelte Namen haben. Zum Beispiel trat vielleicht ein Mitglied, und sein Name ist in der OldMember Tisch - aber er kam wieder, so wird sein Name auf die hinzugefügt wird Mitglied Tabelle. Wenn Sie keine Duplikate wollen, enthalten nicht das Wort ALLE. Ob ALLE ist nicht enthalten, werden doppelte Zeilen zu dem Ergebnis hinzugefügt.

Sie können verwenden SORTIEREN NACH mit jedem WÄHLEN abfragen, oder Sie verwenden können, SORTIEREN NACH mit einem UNION Abfrage alle Zeilen in der Ergebnismenge zu sortieren. wenn du willst SORTIEREN NACH auf die gesamte Ergebnismenge, anstatt nur auf die Abfrage, die es folgt, verwenden Sie Klammern gelten wie folgt:

(SELECT NACHNAME FROM Mitglied UNION ALLSELECT nachName VON OldMember) ORDER BY nachName

Menü