Updated . Built against the tool’s current screens and checked step by step. How we check this lesson
A beginner SQL walkthrough in the free DB Fiddle: join a customers table to orders, see why a plain JOIN hides customers who never ordered, and list every quiet account with LEFT JOIN, MAX and HAVING.
At a glance
| Question | Answer |
|---|---|
| What you build | A beginner SQL walkthrough in the free DB Fiddle: join a customers table to orders, see why a plain JOIN hides customers who never ordered, and list every quiet account with LEFT JOIN, MAX and HAVING. |
| Tools | DB Fiddle |
| Time | About 15 minutes, 17 steps in 3 parts |
| Level | Beginner, no coding needed |
| Cost | Free |
| Ways to learn it | Practice it step by step |
The 3 parts, in short
- Make two tables: Click in Schema SQL, Create the customers table, Add two customers, Add three more, and 4 more steps.
- Join them: Check the customers, Run it, Join customers to their orders, One row per customer, and 1 more step.
- Find the quiet accounts: Keep customers with no orders, Run it, Keep only the quiet ones, Run the call list.
Start here first: SQL: Build a Monthly Revenue Report from an Orders Table (module 1 of SQL)

What you'll build
Lakeside Office Supply (made up) loses customers quietly: nobody notices that a dental practice stopped ordering until the year-end review. The owner wants a list every Monday of customers with no order since 1 September, with the account manager next to each name so they can call. In this lesson you type two small tables, customers and orders, into DB Fiddle, join them, and find the quiet accounts, including one that never ordered at all and a plain JOIN would miss.
Elm Street Law (never ordered), Harbor Accounting (last order 19 August) and Maple Dental (27 August): two calls for Ana and one for Sam. A plain JOIN would have missed Elm Street Law completely. Change the date in the HAVING line and run it every Monday. Do it in DB Fiddle yourself: the lesson page has the checklist.
- Tools: DB Fiddle
- Time: about 15 minutes, 17 steps in 3 chapters
- Level: beginner, no coding needed
- Price: free
Practice first, then build it for real
Practice copy built from real DB Fiddle screens (db-fiddle.com, MySQL v9, captured 24 October 2026). Every query in it was typed and run there. The shop, its customers and its orders are made up; the ad box on the left is blurred. To build it for real you need your own DB Fiddle account, and some services charge once you use them for real work, so check each tool's current pricing.
Try it yourself, free
Reading the steps is a start. Doing them is how it sticks. The interactive module walks you through every click in a practice copy of DB Fiddle, checks each step, and never touches your real accounts.
Start “SQL: Find Customers Who Have Gone Quiet with a LEFT JOIN”Step by step: SQL: Find Customers Who Have Gone Quiet with a LEFT JOIN
All 17 steps of the interactive module, in order. In the module you watch each one, then do it yourself in a practice copy that checks your work.
1. Make two tables
- Click in Schema SQL. Open db-fiddle.com (no account needed) and click inside the left box, Schema SQL.
- Create the customers table. A second table this time: every customer and their account manager. Type the code shown below.
First a customers table: each customer and their account manager.
- Add two customers. Leave a blank line, then type the code shown below.
Add the first two customers.
- Add three more. Elm Street Law signed up but has never ordered. Keep an eye on it.
Three more. Elm Street Law signed up but never ordered. Keep an eye on it.
- Create the orders table. Leave a blank line and type the orders table, the same one as in modules 1 and 2.
Now the orders table, the same as before.
- Add the first two orders. Type the code shown below.
- Add three more orders. Type the code shown below.
Three more orders.
- Add the last three orders. The last row ends with a semicolon.
And the last three. The last row ends with a semicolon.
2. Join them
- Check the customers. In Query SQL, check the new table.
In Query SQL, list the customers.
- Run it. Click Run.
Run it.
- Join customers to their orders. Five customers, two managers. Now put each customer next to their latest order. Replace the query with three lines. c and o are short names for the two tables, and JOIN ... ON matches each order to the customer with the same name.
Now join the two tables. Each order is matched to the customer with the same name, and MAX finds the latest order date.
- One row per customer. Add the grouping line.
Group by customer and manager.
- Run it. Click Run.
Run it.
3. Find the quiet accounts
- Keep customers with no orders. Only four rows: Elm Street Law is missing, because a plain JOIN drops anyone with no matching order. That is exactly the customer you most need to call. Click at the start of line 3 and type LEFT and a space, so it reads LEFT JOIN orders o ON o.customer = c.name.
Only four rows. Elm Street Law is missing, because a plain JOIN drops customers with no orders.
- Run it. Click Run.
Run it.
- Keep only the quiet ones. Five rows: Elm Street Law is back, with null (no orders). Now keep only customers with nothing since 1 September. Delete the semicolon at the end of the GROUP BY line, press Enter and type the code shown below.
Elm Street Law is back, with null. Now keep only customers with no order since the first of September, or no order at all.
- Run the call list. Click Run.
Run the call list.
Screenshots
















More in SQL
Same business, other tools
Maple Dental shows up in these modules too, built with different tools.
Excel for the Web: Find Your Top Customers in a Sales ExportA beginner Excel for the web walkthrough on real screens: clean a sales export with Remove Duplicates, total every customer with a PivotTable and sort the biggest to…
Free · Live ~12 min Beginner
JavaScript: Turn Invoice Dates into Due-Date RemindersA beginner JavaScript walkthrough in the free JSFiddle: work out Net 30 due dates, count the days left and list every invoice as due or overdue, typing every line…
Free · Live ~15 min Beginner
Python: Total a Sales Export by Customer in Google ColabA beginner Python walkthrough in the free Google Colab: put six orders in a pandas table, total the quarter and rank customers by revenue, typing every line yourself.
Free · Live ~12 min Beginner
Python: Combine Monthly Sales Exports into One QuarterA beginner Python walkthrough in the free Google Colab: label three monthly exports, stack them into one quarter with pandas concat and total by month and by customer…
Free · Live ~12 min Beginner
Free cheat sheet
Print it or save the PDF: the key steps and checks from this lesson on one page, free.
All free printable cheat sheets
Terms in this lesson
Plain-English definitions, each with an example from a free lesson.

