Digital Marketing Academy · Pelajaran

Menggabungkan Tabel Pemasaran

Sesi, pengguna, dan pesanan

Pelajaran 3 dari 413 langkah

Menggabungkan Tabel Pemasaran adalah pelajaran Digital Marketing Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Digital Marketing Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Digital Marketing Academy mencakup 4 pelajaran total.

Mengapa Menggunakan JOIN?

Pertanyaan nyata sering mencakup beberapa tabel. Belanja tersimpan dalam kampanye, pendapatan dalam pesanan, dan karakteristik dalam pengguna. Untuk menghitung ROAS atau LTV per segmen, Anda harus menggabungkannya.

JOIN mencocokkan baris dari dua tabel berdasarkan kunci bersama, seperti pengenal pengguna atau pengenal kampanye.

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

INNER JOIN

INNER JOIN hanya mengembalikan baris yang cocok di kedua tabel. Pesanan tanpa pengguna yang cocok atau pengguna tanpa pesanan akan dihapus dari hasil.

Gunakan ini jika Anda hanya memperhatikan catatan yang ada di kedua sisi, seperti pembeli.

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 mempertahankan setiap baris dari tabel kiri meskipun tidak ada kecocokan di sebelah kanan. Nilai yang hilang dikembalikan sebagai NULL.

Dengan cara inilah Anda dapat menemukan pengguna yang tidak pernah melakukan pemesanan atau sesi yang tidak pernah menghasilkan konversi.

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;

Menemukan Celah

Padukan LEFT JOIN dengan pemeriksaan NULL untuk mengisolasi baris yang tidak cocok. "Pendaftaran mana yang tidak pernah menghasilkan pembelian?" adalah pertanyaan retensi klasik.

Sisi kanan yang bernilai NULL berarti tidak ada pesanan yang cocok.

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;

Menggabungkan Sesi dengan Pesanan

Menghubungkan sesi dengan pesanan mengaitkan perilaku dengan hasil. Cocokkan berdasarkan pengenal pengguna untuk melihat lalu lintas mana yang pada akhirnya menghasilkan pembelian.

Ini adalah dasar analisis atribusi kanal.

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;

Menghitung ROAS

ROAS yang sebenarnya membutuhkan belanja dan pendapatan secara berdampingan. Gabungkan kampanye dengan pesanan berdasarkan pengenal kampanye, lalu bagi totalnya.

NULLIF mencegah pembagian dengan belanja nol.

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;

Alias Tabel

Alias (o untuk pesanan, u untuk pengguna) membuat kueri dengan beberapa tabel tetap singkat dan tidak ambigu. Selalu cantumkan tabel asal pada kolom jika nama kolom tersebut ada di kedua tabel.

Alias yang jelas membuat JOIN kompleks jauh lebih mudah dibaca dan ditelusuri kesalahannya.

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;

Menggabungkan Tiga Tabel

Rangkai JOIN untuk menyatukan lebih dari dua tabel. Di sini, kita menghubungkan kampanye dengan pesanan, lalu dengan pengguna, untuk membagi pendapatan berdasarkan negara.

Setiap JOIN menambahkan satu kondisi ON yang menghubungkan tabel baru dengan kumpulan tabel yang sudah ada.

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;

Perhatikan Tingkat Perincian

Menggabungkan relasi satu-ke-banyak dapat melipatgandakan baris dan menggelembungkan jumlah. Jika satu kampanye memiliki banyak pesanan, menjumlahkan belanja per pesanan akan menghitungnya berulang kali.

Agregasikan masing-masing sisi secara terpisah, lalu gabungkan totalnya agar angka tetap akurat.

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;

Atribusi Sentuhan Pertama

Untuk memberikan kredit kepada kanal pertama yang mendatangkan pengguna, temukan sesi paling awal setiap pengguna, lalu gabungkan sesi tersebut dengan pesanan mereka.

Subkueri mengisolasi sentuhan pertama sebelum penggabungan dengan pendapatan.

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;

JOIN dalam Praktik

JOIN adalah bagian yang membuat SQL pemasaran menjadi kuat. Belanja ditambah pendapatan menghasilkan ROAS; sesi ditambah pesanan menghasilkan atribusi; pengguna ditambah pesanan menghasilkan LTV per segmen.

Pilih INNER ketika kedua sisi harus ada, dan LEFT ketika Anda ingin mempertahankan serta memeriksa celah.

Pemeriksaan Singkat

Anda ingin mencantumkan setiap pengguna yang mendaftar, termasuk mereka yang tidak pernah melakukan pemesanan. JOIN mana yang Anda gunakan?

Rangkuman

INNER JOIN mempertahankan kecocokan di kedua sisi; LEFT JOIN mempertahankan semua baris di sisi kiri dan mengungkap celah. Alias dan kolom yang mencantumkan tabel asal membuat kueri tetap rapi.

Waspadai jebakan pelipatan baris pada JOIN satu-ke-banyak; lakukan agregasi terlebih dahulu agar jumlah tetap akurat. Berikutnya: kueri kohort dan corong.

Gratis untuk memulai

Belajar Digital Marketing Academy dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
63
Pelajaran
239

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Menggabungkan Tabel Pemasaran” gratis?

Ya — teks lengkap “Menggabungkan Tabel Pemasaran” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Digital Marketing Academy, upgrade ke CoddyKit PRO. Kursus Digital Marketing Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Menggabungkan Tabel Pemasaran”?

Sesi, pengguna, dan pesanan Kamu berlatih Digital Marketing Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Digital Marketing Academy?

Tidak diperlukan pengalaman sebelumnya. Digital Marketing Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Menggabungkan Tabel Pemasaran” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Digital Marketing Academy ini?

Ya. Setiap pelajaran Digital Marketing Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mengapa Pemasar Mempelajari SQL
  2. SELECT, WHERE, GROUP BY
  3. Menggabungkan Tabel Pemasaran
  4. Kueri Kohort dan Corong
← Kembali ke Digital Marketing Academy