Einführung
SQL ist ein wichtiges Instrument, das jeder Datenwissenschaftler Und Daten Analyst sollte wissen. Mit der UNION-Anweisung können Sie die Ergebnisse von zwei oder mehr SQL-Auswahl Anweisungen. Der SELECT-Befehl kann sich auf dieselbe oder eine andere Tabelle beziehen. Wir werden uns mit den Grundlagen von UNION befassen und verschiedene Verwendungsmöglichkeiten erkunden. Darüber hinaus werden wir einige Beispieltabellen verwenden, um mit UNION-Befehlen zu experimentieren.
Überblick:
- Erfahren Sie mehr über die SQL UNION-Anweisung.
- Machen Sie sich mit der grundlegenden Syntax und den Bedingungen für SQL UNION vertraut.
- Erkunden Sie praktische Beispiele und Beispieldaten.
- Entdecken Sie, wie Sie kombinierte Ergebnisse sortieren und filtern.
- Lernen Sie die Greatest Practices für die Verwendung von SQL UNION kennen.
- Vergleichen Sie SQL UNION mit SQL JOIN.
Was ist SQL UNION?
Die SQL UNION kombiniert zwei oder mehr SELECT-Anweisungen, additionally die Ergebnismengen, die wir von SELECT-Anweisungen erhalten. Wir stapeln sie übereinander, um die UNION-Operation durchzuführen. Es gibt einige Bedingungen, um eine UNION-Anweisung auszuführen. Jede SELECT-Anweisung innerhalb der UNION muss die gleiche Anzahl von Spalten in den Ergebnismengen mit ähnlichen Datentypen. Der SQL-UNION-Operator entfernt standardmäßig doppelte Zeilen aus dem Ergebnissatz.
Grundlegende Syntax
Unten finden Sie die grundlegende Syntax für die SQL-UNION zweier Ergebnismengen aus zwei SELECT-Anweisungen.
SELECT column1, column2, ...
FROM table1
UNION
SELECT column1, column2, ...
FROM table2;
Erstellung von Beispieldaten
CREATE TABLE Staff (
employee_id INT PRIMARY KEY,
title VARCHAR(50),
division VARCHAR(50),
wage DECIMAL(10, 2)
);
INSERT INTO Staff (employee_id, title, division, wage)
VALUES
(1, 'Alice', 'HR', 60000.00),
(2, 'Bob', 'IT', 75000.00),
(3, 'Charlie', 'Finance', 70000.00),
(4, 'Dana', 'IT', 80000.00);
Dadurch wird unsere erste Mitarbeitertabelle erstellt und Beispieldaten in unsere Tabelle eingefügt.
CREATE TABLE Contractors (
contractor_id INT PRIMARY KEY,
title VARCHAR(50),
division VARCHAR(50),
hourly_rate DECIMAL(10, 2)
);
INSERT INTO Contractors (contractor_id, title, division, hourly_rate)
VALUES
(1, 'David', 'IT', 50.00),
(2, 'Eve', 'Finance', 45.00),
(3, 'Frank', 'HR', 40.00),
(4, 'Grace', 'IT', 55.00);
Dadurch wird unsere zweite Tabelle „Contractors“ erstellt und Beispieldaten in unsere Tabelle eingefügt.
Grundlegende Verwendung von SQL UNION
Zusammenführung der Daten von Mitarbeitern und Vertragspartnern
SELECT *
FROM Staff
UNION
SELECT *
FROM Contractors;
Der Spaltenname stammt aus der Worker-Tabelle. Beachten Sie, dass SQL UNION die Spaltennamen aus der ersten SELECT-Anweisung übernimmt.
Kombinieren von Daten und Sortieren der Ergebnisse
SELECT title, division
FROM Staff
UNION
SELECT title, division
FROM Contractors
ORDER BY wage;
In unserem endgültigen Ergebnissatz haben wir die Datensätze nach Gehalt sortiert. Daher können Sie ORDER BY verwenden, um Datensätze im endgültigen Ergebnissatz zu sortieren. Beachten Sie, dass Sie nur basierend auf den ausgewählten Spalten sortieren können, nicht basierend auf den nicht ausgewählten.
Verwenden von UNION mit WHERE-Klausel
SELECT title, division
FROM Staff
WHERE division="IT"
UNION
SELECT title, division
FROM Contractors
WHERE division="IT";
Im obigen Bild sind nur die ausgewählten Spalten und Datensätze vorhanden, die die WHERE-Klausel erfüllen. Die WHERE-Klausel hilft Ihnen, Datensätze als Ihre Bedingung in SQL UNION zu filtern.
Bewährte Vorgehensweisen und Überlegungen
- Spaltenreihenfolge: Stellen Sie sicher, dass die Spalten in jeder SELECT-Anweisung die gleiche Reihenfolge haben und kompatible Datentypen aufweisen.
- Debuggen: Führen Sie zur Fehlerbehebung jede SELECT-Anweisung einzeln aus, um zu überprüfen, ob sie die erwarteten Ergebnisse zurückgibt, bevor Sie sie mit SQL UNION kombinieren.
Vergleich zwischen SQL JOIN und SQL UNION
JOIN und UNION werden beide verwendet, um Daten aus mehreren Tabellen zu kombinieren. Sie dienen beide unterschiedlichen Zwecken.
VERBINDEN | UNION | |
Zweck | JOIN kombiniert Spalten aus zwei oder mehr Tabellen basierend auf einer zugehörigen Spalte zwischen ihnen. | Kombiniert die Ergebnisse von zwei oder mehr SELECT-Anweisungen zu einem einzigen Ergebnissatz und stapelt sie vertikal. |
Struktur | Führt Tabellen horizontal zusammen, indem Spalten der zweiten Tabelle zu den Spalten der ersten Tabelle hinzugefügt werden. | Führt Tabellen vertikal zusammen, indem den Zeilen der ersten SELECT-Anweisung Zeilen aus der zweiten SELECT-Anweisung hinzugefügt werden. |
Abschluss
SQL UNION bietet Ihnen verschiedene Lösungen zum Kombinieren von Ergebnissen aus SELECT-Anweisungen aus derselben oder aus verschiedenen Tabellen. Mit einem guten Verständnis von UNION-Anweisungen und ihrem Verhalten sollten Sie in der Lage sein, Daten effektiv zu verwalten und zu bearbeiten. UNION-Operatoren vereinfachen den Prozess und erleichtern das Kombinieren von Ergebnissen.
Lesen Sie auch: Die wichtigsten SQL-Abfragen für Anfänger
Häufig gestellte Fragen
A. Alle in der UNION verwendeten SELECT-Anweisungen müssen die gleiche Spaltenanzahl haben und die entsprechenden Spalten müssen kompatible Datentypen aufweisen.
A. Ja, Sie können ORDER BY mit UNION verwenden, es sollte jedoch nach der letzten SELECT-Anweisung platziert werden, um den gesamten Ergebnisset zu sortieren.
A. JOIN kann ressourcenintensiver sein, insbesondere bei großen Tabellen oder mehreren Joins, da Zeilen tabellenübergreifend abgeglichen werden müssen. UNION kann ebenfalls kostspielig sein, insbesondere beim Entfernen von Duplikaten. Verwenden Sie UNION ALL, wenn Duplikate akzeptabel sind, um die Leistung zu verbessern.