Back to Browse

SQL JOINs Explained — Using Real Data

9 views
May 20, 2026
19:56

Welcome to Beyond the Numbers — where we learn how to solve real analytical and business problems, not just memorizing syntax. In the last episode, you learned to query one table in SQL. Today, we break down SQL JOINs in a simple, practical way using simulated data. Questions such as which customers are generating the most value? Which accounts have gone dormant? Which region is underperforming? are mostly solved working across two or more tables. One table alone cannot answer them. JOINs can. In this episode we break down SQL JOINs using real data, step by step, with a business question behind every query. What you will learn: INNER JOIN — how to return only rows that match in both tables LEFT JOIN — how to return all rows from the left table, even with no match The mistake that breaks everyone — why putting a filter in WHERE instead of ON silently destroys your LEFT JOIN (and how to fix it) Three-table JOIN — connecting customers, transactions, and branches in a single query The "so what" habit — what every result means for the bank, not just what it shows Download the practice file and follow along: 🔗 https://github.com/LolaHaastrup/beyond-the-numbers File in the folder: SQL JOINs — Combining Tables to Answer Real Questions.sql You will also need mentorship_db loaded from the last episode. Setup guide is in the same GitHub folder. CHAPTERS 00:00 — Introduction & file download 01:00 — Quick recap from Episode 2 02:30 — Why one table is never enough 04:00 — INNER JOIN explained 05:30 — LEFT JOIN explained 07:00 — The WHERE vs ON rule that breaks everyone 09:30 — Query 1: Top customers by transaction value (INNER JOIN) 11:30 — Query 2: Dormant accounts (LEFT JOIN + IS NULL) 13:30 — Query 3: Regional deposit breakdown (three-table JOIN) 15:30 — Practice query: your turn 16:30 — JOINs quick reference (save this slide) 17:30 — What's next: Episode 4 Homework Run the three queries from the GitHub file. Then attempt the practice query yourself before looking at the answer. Write your "so what" — what does the result mean for the bank and what should they do about it? Post it in the comments. I will read every one. 👇 Next Episode: GROUP BY, HAVING, and window functions — the patterns that move you from writing queries to thinking analytically. Rankings, running totals, month-over-month comparisons. Episode 4 is where SQL starts to feel like a superpower. 📌 New here? Watch the preceeding episodes in this series → https://youtu.be/AZ_YR4Zsh0E?si=dKkkdJNUPSu2sVxJ https://youtu.be/Sn1K8rPPJ-o?si=gxhkwipuZVhUB-ZM 📌 Subscribe so you don't miss the next episodes → @Beyond_d_Numbers TOOLS YOU NEED (all free): MySQL Community Server — dev.mysql.com/downloads DBeaver Community Edition — dbeaver.io/download Practice files — https://github.com/LolaHaastrup/beyond-the-numbers Beyond the Numbers teaches data analytics through real data — banking transactions, share registries, public sector datasets. Real data, real business questions, real analytical thinking. Hosted by Omolola Haastrup — data professional with 15+ years of experience.

Download

0 formats

No download links available.

SQL JOINs Explained — Using Real Data | NatokHD