Menu
Coddy logo textTech

UNION vs. UNION ALL

Teil des Abschnitts Über die Grundlagen hinaus der SQL-Journey von Coddy — Lektion 16 von 27.

Sie haben UNION in Grundlagen kennengelernt: Es stapelt zwei Ergebnismengen übereinander. Standardmäßig werden dabei auch Duplikate entfernt, was einen zusätzlichen Sortiervorgang erfordert.

SELECT name FROM authors
UNION
SELECT name FROM editors

UNION ALL führt die gleiche Stapelung durch, aber behält Duplikate bei. Es ist schneller und fast immer das, was man möchte, wenn man weiß, dass die beiden Seiten nicht dieselbe Zeile erzeugen können oder wenn man tatsächlich jedes Vorkommen zählen möchte.

SELECT name FROM authors
UNION ALL
SELECT name FROM editors

Beide Seiten müssen die gleiche Anzahl an Spalten in der gleichen Reihenfolge mit kompatiblen Typen zurückgeben.

challenge icon

Aufgabe

Einfach

Verfügbare Tabellen und Spalten:

  • <strong>online_orders</strong>: <strong>order_no</strong>, <strong>amount</strong>
  • <strong>retail_orders</strong>: <strong>ticket_no</strong>, <strong>total</strong>

Die beiden Tabellen erfassen Bestellungen aus verschiedenen Kanälen mit unterschiedlichen Spaltennamen. Geben Sie eine kombinierte Liste aller Bestellungen mit den folgenden Spalten zurück:

  • channel: 'online' oder 'retail'
  • order_id: order_no aus online, ticket_no aus retail
  • amount: der Gesamtbetrag der Bestellung (aus amount oder total)

Behalten Sie jede Zeile bei (keine Deduplizierung). Sortieren Sie nach amount absteigend.

Spickzettel

UNION stapelt zwei Ergebnismengen und entfernt Duplikate (langsamer). UNION ALL stapelt und behält Duplikate bei (schneller):

SELECT name FROM authors
UNION ALL
SELECT name FROM editors

Beide Seiten müssen die gleiche Anzahl an Spalten in der gleichen Reihenfolge mit kompatiblen Typen haben. Spaltennamen stammen aus dem ersten SELECT.

Probier es selbst

-- zwei SELECTs, die auf dieselben 3 Spalten ausgerichtet und durch UNION ALL verbunden sind
quiz iconTeste dich selbst

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