Marketingtabellen verknüpfen
Sitzungen, Nutzer und Bestellungen.
Marketingtabellen verknüpfen ist eine kostenlose Digital Marketing Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Digital Marketing Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Digital Marketing Academy-Kurs umfasst insgesamt 4 Lektionen.
Warum JOINs?
Reale Fragen erstrecken sich über mehrere Tabellen. Ausgaben stehen in campaigns, Umsätze in orders und Merkmale in users. Um ROAS oder LTV nach Segment zu berechnen, müssen Sie diese Daten kombinieren.
JOINs gleichen Zeilen aus zwei Tabellen anhand eines gemeinsamen Schlüssels ab, etwa user_id oder campaign_id.
SELECT o.order_id, u.country
FROM orders o
JOIN users u ON o.user_id = u.user_id;INNER JOIN
Ein INNER JOIN gibt nur Zeilen zurück, die in beiden Tabellen übereinstimmen. Bestellungen ohne passenden Benutzer oder Benutzer ohne Bestellungen werden ausgeschlossen.
Verwenden Sie ihn, wenn Sie nur Datensätze berücksichtigen möchten, die auf beiden Seiten vorhanden sind, etwa Käufer.
SELECT u.user_id, u.country, SUM(o.revenue) AS revenue
FROM users u
JOIN orders o ON o.user_id = u.user_id
GROUP BY u.user_id, u.country;LEFT JOIN
Ein LEFT JOIN behält jede Zeile der linken Tabelle bei, auch wenn es rechts keine Übereinstimmung gibt. Fehlende Werte werden als NULL zurückgegeben.
So finden Sie Benutzer, die nie bestellt haben, oder Sessions, die nie konvertiert sind.
SELECT u.user_id, COALESCE(SUM(o.revenue), 0) AS revenue
FROM users u
LEFT JOIN orders o ON o.user_id = u.user_id
GROUP BY u.user_id;Lücken finden
Kombinieren Sie einen LEFT JOIN mit einer NULL-Prüfung, um nicht übereinstimmende Datensätze herauszufiltern. „Welche Registrierungen haben nie etwas gekauft?“ ist eine klassische Frage zur Retention.
NULL auf der rechten Seite bedeutet, dass keine passende Bestellung vorhanden war.
SELECT u.user_id, u.signup_date
FROM users u
LEFT JOIN orders o ON o.user_id = u.user_id
WHERE o.order_id IS NULL;Sessions mit Bestellungen verknüpfen
Die Verknüpfung von Sessions mit Bestellungen verbindet Verhalten und Ergebnis. Gleichen Sie anhand von user_id ab, um zu sehen, welche Besucher später tatsächlich gekauft haben.
Das ist die Grundlage der Channel-Attribution-Analyse.
SELECT s.channel, SUM(o.revenue) AS revenue
FROM sessions s
JOIN orders o ON o.user_id = s.user_id
GROUP BY s.channel;ROAS berechnen
Für den tatsächlichen ROAS müssen Ausgaben und Umsatz direkt gegenübergestellt werden. Verknüpfen Sie campaigns und orders anhand von campaign_id und dividieren Sie anschließend die Summen.
NULLIF schützt vor einer Division durch Werbeausgaben von null.
SELECT c.campaign_id,
SUM(o.revenue) / NULLIF(SUM(c.spend), 0) AS roas
FROM campaigns c
LEFT JOIN orders o ON o.campaign_id = c.campaign_id
GROUP BY c.campaign_id;Tabellen-Aliase
Aliase (o für orders, u für users) halten Abfragen mit mehreren Tabellen kurz und eindeutig. Qualifizieren Sie Spalten immer dann, wenn ein Name in beiden Tabellen vorkommt.
Klar benannte Aliase machen komplexe JOINs deutlich leichter lesbar und zu debuggen.
SELECT c.name AS campaign, SUM(o.revenue) AS revenue
FROM campaigns c
JOIN orders o ON o.campaign_id = c.campaign_id
GROUP BY c.name;Drei Tabellen verknüpfen
Verketten Sie JOINs, um mehr als zwei Tabellen zusammenzuführen. Hier verknüpfen wir campaigns mit orders und anschließend mit users, um den Umsatz nach Land zu segmentieren.
Jeder JOIN fügt eine weitere ON-Bedingung hinzu, die die neue Tabelle mit der bestehenden Ergebnismenge verbindet.
SELECT c.name, u.country, SUM(o.revenue) AS revenue
FROM campaigns c
JOIN orders o ON o.campaign_id = c.campaign_id
JOIN users u ON u.user_id = o.user_id
GROUP BY c.name, u.country;Auf die Granularität achten
Das Verknüpfen einer Eins-zu-viele-Beziehung kann Zeilen vervielfachen und Summen aufblähen. Wenn eine Kampagne viele Bestellungen hat, wird ihre Ausgabe beim Summieren pro Bestellung doppelt gezählt.
Aggregieren Sie beide Seiten separat und verknüpfen Sie anschließend die Summen, damit die Zahlen korrekt bleiben.
SELECT c.campaign_id, c.total_spend, r.revenue
FROM campaigns c
JOIN (
SELECT campaign_id, SUM(revenue) AS revenue
FROM orders GROUP BY campaign_id
) r ON r.campaign_id = c.campaign_id;First-Touch-Attribution
Um dem ersten Kanal eines Benutzers die Anerkennung zuzuweisen, ermitteln Sie die früheste Session jedes Benutzers und verknüpfen sie anschließend mit seinen Bestellungen.
Eine Unterabfrage isoliert den First Touch vor dem Umsatz-JOIN.
SELECT f.channel, SUM(o.revenue) AS revenue
FROM (
SELECT DISTINCT ON (user_id) user_id, channel
FROM sessions ORDER BY user_id, session_date
) f
JOIN orders o ON o.user_id = f.user_id
GROUP BY f.channel;JOINs in der Praxis
Mit JOINs wird Marketing-SQL besonders leistungsfähig. Ausgaben plus Umsatz ergeben ROAS; Sessions plus Bestellungen ergeben Attribution; Benutzer plus Bestellungen ergeben LTV nach Segment.
Wählen Sie INNER, wenn beide Seiten vorhanden sein müssen, und LEFT, wenn Sie die Lücken beibehalten und untersuchen möchten.
Kurztest
Sie möchten jeden registrierten Benutzer auflisten, einschließlich derjenigen, die nie eine Bestellung aufgegeben haben. Welchen JOIN verwenden Sie?
Zusammenfassung
INNER JOIN behält Übereinstimmungen auf beiden Seiten bei; LEFT JOIN behält alle Zeilen der linken Seite und macht Lücken sichtbar. Aliase und qualifizierte Spalten halten Abfragen übersichtlich.
Achten Sie bei Eins-zu-viele-JOINs auf die Fan-out-Falle; aggregieren Sie vorab, damit die Summen korrekt bleiben. Als Nächstes: Kohorten- und Funnel-Abfragen.
Lerne Digital Marketing Academy mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 63
- Lektionen
- 239
Häufig gestellte Fragen
Ist die Lektion „Marketingtabellen verknüpfen“ kostenlos?
Ja — der vollständige Text von „Marketingtabellen verknüpfen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Digital Marketing Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Digital Marketing Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Marketingtabellen verknüpfen“?
Sitzungen, Nutzer und Bestellungen. Du übst Digital Marketing Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Digital Marketing Academy zu starten?
Keine Vorkenntnisse erforderlich. Digital Marketing Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Marketingtabellen verknüpfen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Digital Marketing Academy-Lektion Code schreiben und ausführen?
Ja. Jede Digital Marketing Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Warum Marketer SQL lernen
- SELECT, WHERE, GROUP BY
- Marketingtabellen verknüpfen
- Kohorten- und Trichterabfragen