UNION vs. UNION ALL
Teil des Abschnitts Über die Grundlagen hinaus der SQL-Journey von Coddy. Lektion 16 von 27.
Du bist in Grundlagen auf UNION gestoßen: Es stapelt zwei Ergebnismengen übereinander. Standardmäßig entfernt es außerdem Duplikate, was eine zusätzliche Sortierung erfordert.
SELECT name FROM authors
UNION
SELECT name FROM editorsUNION ALL führt dasselbe Stapeln durch, behält aber Duplikate bei. Es ist schneller und fast immer das, was du möchtest, wenn du weißt, dass die beiden Seiten nicht dieselbe Zeile erzeugen können oder wenn du tatsächlich jedes Vorkommen zählen möchtest.
SELECT name FROM authors
UNION ALL
SELECT name FROM editorsBeide Seiten müssen dieselbe Anzahl von Spalten in derselben Reihenfolge und mit kompatiblen Typen zurückgeben.
Aufgabe
EinfachVerfügbare Tabellen und Spalten:
online_orders:order_no,amountretail_orders:ticket_no,total
Die beiden Tabellen erfassen Bestellungen aus verschiedenen Kanälen mit unterschiedlichen Spaltennamen. Gib eine kombinierte Liste aller Bestellungen mit den folgenden Spalten zurück:
channel:'online'oder'retail'order_id:order_noaus online,ticket_noaus retailamount: der Gesamtbetrag der Bestellung (ausamountodertotal)
Behalte jede Zeile bei (keine Deduplizierung). Sortiere nach amount absteigend.
Probier es selbst
-- zwei SELECTs auf dieselben 3 Spalten ausgerichtet, verbunden durch UNION ALL
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Über die Grundlagen hinaus
Übe selbstständig: SQL-Playground