sql / intermediate
Snippet
Kombinieren von Ergebnismengen mit UNION ALL zur Vermeidung von Duplikat-Filterungsaufwand
Der Operator UNION ALL führt die Ergebnismengen zweier strukturell kompatibler Abfragen zusammen und behält dabei alle Zeilen bei. Im Gegensatz zu UNION, das Sortier- und Filteroperationen zur Duplikateliminierung durchführt, vermeidet UNION ALL diesen Speicher- und CPU-Overhead.
snippet.sql
sql
1
2
3
4
5
SELECT customer_id, city, 'Active' AS statusFROM active_customersUNION ALLSELECT customer_id, city, 'Archived' AS statusFROM archived_customers;
Erklärung
1
SELECT customer_id, city, 'Active' AS status
Ruft Kundenzeilen aus der ersten Abfrage ab und fügt eine statische Statusbezeichnung hinzu.
2
FROM active_customers
Fragt die Tabelle mit aktuell aktiven Kunden ab.
3
UNION ALL
Kombiniert Zeilen aus beiden Ergebnismengen ohne teure Duplikateliminierung.
4
SELECT customer_id, city, 'Archived' AS status
Ruft übereinstimmende strukturelle Spalten aus der zweiten Tabelle ab.
5
FROM archived_customers;
Fragt die Tabelle mit archivierten historischen Datensätzen ab.