0Pricing
Digital Marketing Academy · Leçon

Relier des tables marketing

Sessions, utilisateurs et commandes.

Relier des tables marketing est une leçon Digital Marketing Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Digital Marketing Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Digital Marketing Academy comprend 4 leçons au total.

Pourquoi utiliser JOIN ?

Les questions réelles couvrent plusieurs tables. Les dépenses figurent dans les campagnes, le chiffre d’affaires dans les commandes et les caractéristiques dans les utilisateurs. Pour calculer le ROAS ou la LTV par segment, vous devez les combiner.

Les JOIN associent les lignes de deux tables à l’aide d’une clé commune, comme user_id ou campaign_id.

SELECT o.order_id, u.country
FROM orders o
JOIN users u ON o.user_id = u.user_id;

INNER JOIN

INNER JOIN renvoie uniquement les lignes qui correspondent dans les deux tables. Les commandes sans utilisateur correspondant, ou les utilisateurs sans commande, sont exclues.

Utilisez-le lorsque vous ne vous intéressez qu’aux enregistrements présents des deux côtés, par exemple les acheteurs.

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

LEFT JOIN conserve chaque ligne de la table de gauche, même lorsqu’il n’y a aucune correspondance à droite. Les valeurs manquantes sont renvoyées sous la forme NULL.

C’est ainsi que vous trouvez les utilisateurs qui n’ont jamais commandé ou les sessions qui n’ont jamais abouti à une conversion.

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;

Trouver les écarts

Associez un LEFT JOIN à une vérification de NULL pour isoler les lignes sans correspondance. « Quelles inscriptions n’ont jamais donné lieu à un achat ? » est une question classique de rétention.

La présence de NULL du côté droit signifie qu’aucune commande correspondante n’existait.

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;

Associer les sessions aux commandes

Relier les sessions aux commandes permet de mettre le comportement en relation avec le résultat. Faites la correspondance sur user_id pour voir quelles sources de trafic ont finalement généré un achat.

C’est le fondement de l’analyse de l’attribution des canaux.

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;

Calculer le ROAS

Un ROAS réel nécessite de mettre les dépenses et le chiffre d’affaires côte à côte. Associez les campagnes aux commandes sur campaign_id, puis divisez les totaux.

NULLIF protège contre une division par zéro des dépenses.

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;

Noms abrégés des tables

Les alias (o pour les commandes, u pour les utilisateurs) rendent les requêtes sur plusieurs tables courtes et dépourvues d’ambiguïté. Qualifiez toujours les colonnes lorsqu’un même nom existe dans les deux tables.

Des alias clairs rendent les JOIN complexes beaucoup plus faciles à lire et à déboguer.

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;

Associer trois tables

Enchaînez les JOIN pour réunir plus de deux tables. Ici, nous relions les campagnes aux commandes, puis aux utilisateurs, afin de segmenter le chiffre d’affaires par pays.

Chaque JOIN ajoute une nouvelle condition ON reliant la nouvelle table à l’ensemble déjà constitué.

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;

Surveiller le niveau de détail

Associer une relation un-à-plusieurs peut multiplier les lignes et gonfler les sommes. Si une campagne possède de nombreuses commandes, additionner les dépenses pour chaque commande les comptabilise plusieurs fois.

Agrégrez chaque côté séparément, puis associez les totaux afin de conserver des chiffres fiables.

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;

Attribution au premier contact

Pour attribuer le mérite au premier canal par lequel un utilisateur est arrivé, trouvez la première session de chaque utilisateur, puis associez-la à ses commandes.

Une sous-requête isole le premier contact avant l’association avec le chiffre d’affaires.

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;

Les JOIN en pratique

Les JOIN rendent le SQL marketing particulièrement puissant. Dépenses plus chiffre d’affaires donnent le ROAS ; sessions plus commandes donnent l’attribution ; utilisateurs plus commandes donnent la LTV par segment.

Choisissez INNER lorsque les deux côtés doivent exister, et LEFT lorsque vous souhaitez préserver les lignes et examiner les écarts.

Vérification rapide

Vous souhaitez afficher tous les utilisateurs inscrits, y compris ceux qui n’ont jamais passé de commande. Quel JOIN utilisez-vous ?

Récapitulatif

INNER JOIN conserve les correspondances des deux côtés ; LEFT JOIN conserve toutes les lignes de gauche et révèle les écarts. Les alias et les colonnes qualifiées gardent les requêtes claires.

Méfiez-vous du piège de multiplication dans les JOIN un-à-plusieurs ; effectuez une pré-agrégation pour conserver des sommes exactes. Ensuite : les requêtes de cohortes et d’entonnoirs.

Questions Fréquemment Posées

La leçon « Relier des tables marketing » est-elle gratuite ?

Oui — le texte complet de « Relier des tables marketing » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Digital Marketing Academy, passe à CoddyKit PRO. Le cours Digital Marketing Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Relier des tables marketing » ?

Sessions, utilisateurs et commandes. Tu pratiques Digital Marketing Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Digital Marketing Academy ?

Aucune expérience préalable n'est requise. Digital Marketing Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Relier des tables marketing » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Digital Marketing Academy ?

Oui. Chaque leçon Digital Marketing Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Pourquoi les spécialistes du marketing apprennent le SQL
  2. SELECT, WHERE, GROUP BY
  3. Relier des tables marketing
  4. Requêtes par cohortes et entonnoirs
← Retour à Digital Marketing Academy