Wie können Ergebnisse aus mehreren SELECT-Anweisungen in SQL kombiniert werden?

Kombinieren von Ergebnissen aus mehreren SELECT-Anweisungen in SQL mit UNION und UNION ALL

In SQL können Sie Ergebnisse aus mehreren SELECT-Befehlen kombinieren, indem Sie die Schlüsselwörter UNION oder UNION ALL verwenden. Dies ist besonders nützlich, wenn Sie Datensätze aus mehreren Tabellen oder Ansichten abrufen möchten, die ähnliche Datenstrukturen haben, und alle Ergebnisse in einem einzigen Resultset anzeigen möchten.

UNION-Operator

Der UNION Operator wird verwendet, um die Ergebnisse von zwei oder mehr SELECT-Anweisungen in eine einzige Ergebnismenge zu kombinieren. Dabei wird jedoch jeder doppelte Datensatz entfernt. Hier ist ein einfaches Beispiel:

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

In diesem Beispiel werden die Ergebnisse der SELECT-Anweisungen aus table1 und table2 kombiniert und als eine einzige Tabelle ausgegeben, wobei doppelte Datensätze entfernt werden.

UNION ALL Operator

Im Gegensatz zum UNION-Operator behält der UNION ALL-Operator alle doppelten Datensätze bei. Er ist in der Regel schneller als der UNION-Operator, da keine zusätzliche Arbeit zum Löschen von Duplikaten erforderlich ist. Hier ist ein Beispiel:

SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;

In diesem Beispiel werden die Ergebnisse der SELECT-Befehle aus table1 und table2 kombiniert und als eine einzige Tabelle ausgegeben, einschließlich aller doppelten Datensätze.

Best Practices

Stellen Sie beim Einsatz von UNION oder UNION ALL sicher, dass die kombinierten SELECT-Anweisungen eine übereinstimmende Anzahl von Spalten haben und die entsprechenden Spalten kompatible Datentypen aufweisen. Andernfalls kann die Anweisung nicht ausgeführt werden.

Zusätzlich zur kombinierten Ergebnismenge können Sie mit ORDER BY auch die Reihenfolge der endgültigen Ergebnisse festlegen. Es ist wichtig zu beachten, dass die ORDER BY-Klausel in der Regel am Ende der gesamten UNION-Anweisung platziert wird und nicht in den einzelnen SELECT-Anweisungen.

Insgesamt ermöglichen UNION und UNION ALL eine effiziente und flexible Datenkombination in SQL und sind leistungsstarke Werkzeuge für das Datenmanagement und die Berichterstellung.

Related Questions

Finden Sie das nützlich?