Beim Umgang mit Daten in Datenbanken verwenden wir häufig die Set-Operatoren in SQL , um Daten gemäß unseren Anforderungen abzurufen, indem zwei oder mehr SELECT-Anweisungen kombiniert werden. In diesem Artikel zu SQL UNION werde ich den UNION-Operator erläutern, mit dem Daten in der folgenden Reihenfolge abgerufen werden:
- Was ist der SQL UNION-Operator?
- Syntax:
- Unterschiede zwischen UNION und UNION ALL
- Beispiele für SQL UNION:
Lass uns anfangen!
Was ist der SQL UNION-Operator?
Wie der Name schon sagt, wird dieser Operator / diese Klausel verwendet, um die Ergebnisse von zwei oder mehr SELECT-Anweisungen zu kombinieren. Hier muss jede in der UNION-Anweisung verwendete SELECT-Anweisung dieselbe Anzahl von Spalten in derselben Reihenfolge haben. Außerdem müssen alle in den SELECT-Anweisungen enthaltenen Spalten ähnliche Datentypen haben.
Die UNION-Klausel gibt nur eindeutige Werte als Ausgabe an. Nur für den Fall, dass Sie doppelte Werte wünschen, müssen Sie die UNION ALL-Klausel verwenden.
Lassen Sie uns in diesem Artikel über SQL UNION die Syntax verstehen.
SQL UNION-Syntax
UNION-Syntax
SELECT Spalte1, Spalte2, Spalte3, ..., SpalteN FROM Tabelle1 UNION SELECT Spalte1, Spalte2, Spalte3, ..., SpalteN FROM Tabelle2
UNION ALL Syntax
SELECT Column1, Column2, Column3, ..., ColumnN FROM Table1 UNION ALL SELECT Column1, Column2, Column3, ..., ColumnN FROM Table2
Lassen Sie uns in diesem Artikel die Unterschiede zwischen UNION und UNION ALL verstehen.
Unterschiede zwischen SQL UNION und UNION ALL
UNION | UNION ALL |
Kombiniert zwei oder mehr Ergebnismengen und behält die doppelten Werte nicht bei. | Kombiniert zwei oder mehr Ergebnismengen und behält die doppelten Werte bei. |
Syntax: UNION | Syntax: UNION ALL |
![]() |
Lassen Sie uns als Nächstes in diesem Artikel zu SQL UNION die verschiedenen Verwendungsmöglichkeiten dieses Operators verstehen.
Beispiele für SQL UNION und UNION ALL
Zum besseren Verständnis werde ich die folgenden Tabellen betrachten, um Ihnen verschiedene Beispiele zu zeigen.
Mitarbeitertabelle
EmpID | Name | EmpAge | Stadt | Postleitzahl | Land |
ein | Emma | 2. 3 | Berlin | 12109 | Deutschland |
2 | Rahul | 26 | Mumbai | 400015 | Indien |
3 | Aayra | 24 | New York | 10014 | VERWENDET |
4 | John | 32 | London | E1 7AE | Vereinigtes Königreich |
5 | Derek | 29 | New York | 10012 | VERWENDET |
Projekttabelle
ProjectID | Name | Werktags | Stadt | Postleitzahl | Land |
ein | Projekt 1 | 10 | Berlin | 12109 | Deutschland |
2 | Projekt 2 | 7 | Mumbai | 400015 | Indien |
3 | Projekt 3 | zwanzig | Delhi | 110006 | Indien |
4 | Projekt 4 | fünfzehn | Mumbai | 400015 | Indien |
5 | Projekt 5 | 28 | Berlin | 12109 | Deutschland |
Beginnen wir mit Beispielen.
Beispiele für SQL UNION
UNION Operator Beispiel
Schreiben Sie eine Abfrage, um verschiedene Städte aus der Tabelle 'Mitarbeiter und Projekte' abzurufen.
SELECT City FROM Employees UNION SELECT City FROM Projects ORDER BY City
Ausgabe:
Stadt |
Berlin |
Delhi |
London Was ist Marker-Schnittstelle in Java |
Mumbai |
New York |
Beispiel eines UNION ALL-Operators
Schreiben Sie eine Abfrage, um Städte aus der Tabelle 'Mitarbeiter und Projekte' abzurufen. Hier müssen doppelte Werte enthalten sein.
SELECT City FROM Employees UNION ALL SELECT City FROM Projects ORDER BY City
Ausgabe:
Stadt |
Berlin |
Berlin |
Berlin |
Delhi |
London def __init __ (self): |
Mumbai |
Mumbai |
Mumbai |
New York |
New York |
Lassen Sie uns als Nächstes in diesem Artikel verstehen, wie die UNION-Klausel mit SQL-Aliasen verwendet wird.
UNION mit SQL-Aliasen
SQL-Aliase werden verwendeteiner Tabelle oder Spalte einen temporären Namen geben. Schreiben wir also eine Abfrage, um alle eindeutigen Mitarbeiter und Projekte aufzulisten.
SELECT 'Employee' AS Typ, Name, Stadt, Land FROM Employees UNION SELECT 'Project', Name, Stadt, Land FROM Projects
Ausgabe:
Art | Name | Stadt | Land |
Mitarbeiter | Emma | Berlin | Deutschland |
Mitarbeiter | Rahul | Mumbai | Indien |
Mitarbeiter | Aayra | New York | VERWENDET |
Mitarbeiter | John | London | Vereinigtes Königreich |
Mitarbeiter | Derek | New York | VERWENDET |
Projekt | Projekt 1 | Berlin | Deutschland |
Projekt | Projekt 2 | Mumbai | Indien |
Projekt | Projekt 3 | Delhi | Indien |
Projekt | Projekt 4 | Mumbai | Indien |
Projekt | Projekt 5 | Berlin | Deutschland |
UNION mit WHERE-Klausel
Schreiben Sie eine Abfrage, um die verschiedenen indischen Städte und ihre Postleitzahlen aus der Tabelle 'Mitarbeiter' und 'Projekte' abzurufen.
SELECT Stadt, Postleitzahl, Land FROM Mitarbeiter WHERE Country = 'India' UNION SELECT City, Postleitzahl, Country FROM Projekte WHERE Country = 'India' ORDER BY City
Ausgabe:
Stadt | Postleitzahl | Land |
Delhi | 110006 | Indien |
Mumbai | 400015 | Indien |
UNION ALL mit WHERE-Klausel
Schreiben Sie eine Abfrage, um indische Städte und ihre Postleitzahlen aus der Tabelle 'Mitarbeiter' und 'Projekte' abzurufen, in der doppelte Werte zulässig sind
SELECT Stadt, Postleitzahl, Land FROM Mitarbeiter WHERE Country = 'India' UNION ALL SELECT City, Postleitzahl, Country FROM Projekte WHERE Country = 'India' ORDER BY City
Ausgabe:
Stadt | Postleitzahl | Land |
Delhi | 110006 | Indien |
Mumbai | 400015 | Indien |
Mumbai | 400015 | Indien |
Mumbai | 400015 | Indien |
Lassen Sie uns in diesem Artikel verstehen, wie die Klauseln UNION und UNION ALL mit JOINS verwendet werden.JOINS in SQL sind Diese werden verwendet, um Zeilen aus zwei oder mehr Tabellen basierend auf einer zugehörigen Spalte zwischen diesen Tabellen zu kombinieren.
UNION mit JOINS
Der SQL UNION-Operator kann mit verwendet werden um Daten aus zwei verschiedenen Tabellen abzurufen. Ich werde die folgende Tabelle zusammen mit der Employees-Tabelle für das Beispiel betrachten.
ProjectDetails-Tabelle
PID | Werktags | EmpID | CostforProject |
elf | 12 | 4 | 20000 |
22 | 16 | 3 | 35000 |
33 | 30 | ein | 60000 |
44 | 25 | 3 | 45000 |
55 | einundzwanzig | ein | 50.000 |
SELECT EmpID, Name, CostforProject FROM Employees LEFT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION SELECT EmpID, Name, CostforProject FROM Employees RIGHT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID
Ausgabe:
EmpID | Name | CostforProject |
ein | Emma | 60000 |
ein | Emma | 50.000 |
2 | Rahul | NULL |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20000 |
5 | Derek | NULL |
UNION ALL mit JOINS
Schreiben Sie eine Abfrage, um EmpID, Name und CostforProject aus der Tabelle Employees and ProjectDetails abzurufen, in der doppelte Werte zulässig sind.
SELECT EmpID, Name, CostforProject FROM Employees LEFT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION ALL SELECT EmpID, Name, CostforProject FROM Employees RIGHT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID
Ausgabe:
EmpID | Name | CostforProject |
ein | Emma | 60000 |
ein | Emma | 50.000 |
2 | Rahul | NULL |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20000 |
5 | Derek | NULL |
4 | John | 20000 |
3 | Aayra | 35000 |
ein | Emma | 60000 |
3 | Aayra | 35000 |
ein | Emma | 50.000 |
Damit komme ich zum Ende dieses Artikels über SQL UNION. Ich hoffe, Ihnen hat das Lesen dieses Artikels über SQL UNION gefallen. Wir haben die verschiedenen Möglichkeiten gesehen, die Befehle UNION und UNION ALL zum Schreiben von Abfragen zu verwenden. Wenn Sie mehr darüber erfahren möchten MySQL Lernen Sie diese relationale Open-Source-Datenbank kennen und sehen Sie sich unsere an Dies beinhaltet ein von Lehrern geführtes Live-Training und praktische Projekterfahrung. Diese Schulung hilft Ihnen dabei, MySQL gründlich zu verstehen und das Thema zu beherrschen.
Hast du eine Frage an uns? Bitte erwähnen Sie es im Kommentarbereich von 'SQL UNION' und ich werde mich bei Ihnen melden.