Direkt zum Inhalt
Urkunden
FunktionenAusdrückeSchlüsselwörterAussagenKlauseln

MySQL UNION-Klausel

Die `UNION`-Klausel in MySQL wird verwendet, um die Ergebnismengen von zwei oder mehr `SELECT`-Abfragen zu einer einzigen Ergebnismenge zusammenzufassen. So wird sichergestellt, dass die Ergebnisse eindeutig sind und doppelte Zeilen vermieden werden.

Verwendung

Die `UNION`-Klausel wird verwendet, wenn du die Ausgaben von mehreren `SELECT`-Anweisungen zusammenführen musst, die die gleiche Anzahl von Spalten und kompatible Datentypen haben müssen. Sie vereinfacht das Abrufen von Daten aus mehreren Abfragen.

SELECT column1, column2, ...
FROM table1
UNION
SELECT column1, column2, ...
FROM table2;

In dieser Syntax wird `UNION` verwendet, um die Ergebnisse der `SELECT`-Anweisungen von `Tabelle1` und `Tabelle2` zu verketten.

Beispiele

1. Basic UNION

SELECT city
FROM customers
UNION
SELECT city
FROM suppliers;

In diesem Beispiel werden die Städte aus den Tabellen "Kunden" und "Lieferanten" kombiniert und alle Duplikate entfernt.

2. UNION mit verschiedenen Filtern

SELECT product_name
FROM products
WHERE stock > 50
UNION
SELECT product_name
FROM discontinued_products
WHERE discontinued_date > '2023-01-01';

Hier kombiniert die Vereinigung Produktnamen aus der Tabelle "Produkte", deren Bestand größer als 50 ist, mit Produktnamen aus der Tabelle "Ausgelaufene Produkte", die nach dem 1. Januar 2023 ausgelaufen sind.

3. UNION ALL, um Duplikate einzuschließen

SELECT employee_id, name
FROM full_time_employees
UNION ALL
SELECT employee_id, name
FROM part_time_employees;

In diesem Fall schließt `UNION ALL` alle Duplikate ein und zeigt alle Mitarbeiter aus den Tabellen `Vollzeitbeschäftigte` und `Teilzeitbeschäftigte` an.

4. UNION mit ORDER BY

SELECT department
FROM departments
UNION
SELECT department
FROM archived_departments
ORDER BY department;

Dieses Beispiel demonstriert die Verwendung von `ORDER BY`, um die kombinierten Ergebnisse der Abteilungen aus `departments` und `archived_departments` zu sortieren.

Tipps und bewährte Praktiken

  • Achte auf die Kompatibilität der Spalten. Die Anzahl und die Datentypen der Spalten in jeder SELECT-Anweisung sollten übereinstimmen. Nicht übereinstimmende Spalten können zu Fehlern führen.
  • Verwende UNION ALL für mehr Leistung. Wenn Duplikate zulässig sind, verwende `UNION ALL`, da es schneller ist, da es keine Duplikate entfernt.
  • Ordne die Ergebnisse in der richtigen Reihenfolge. Verwende `ORDER BY` nur einmal nach der letzten `SELECT`-Anweisung, um das gesamte Vereinigungsergebnis zu sortieren.
  • Optimiere einzelne Abfragen. Stelle sicher, dass jede `SELECT`-Abfrage auf Leistung optimiert ist, bevor du `UNION` verwendest.
  • Berücksichtige die Größe des Datensatzes. Größere Datensätze können sich auf die Leistung auswirken; erwäge, Abfragen aufzuschlüsseln oder Indizes zur Optimierung zu verwenden.

Fehlerbehandlung

Achte auf mögliche Fehler oder Warnungen, wenn die Anzahl der Spalten oder Datentypen zwischen den SELECT-Anweisungen nicht übereinstimmen. Achte auf die Kompatibilität der Spalten, um diese Probleme zu vermeiden.

SQL Upskilling für Einsteiger

Erwerbe die SQL-Kenntnisse, um mit deinen Daten zu interagieren und sie abzufragen.
Kostenloses Lernen beginnen