SQL QuestSQL Interview Questions › Joins

LEFT JOIN NULL Semantics: Inactive Customers

MediumFreeQuerying BasicsJoinsNULL HandlingAggregation & GroupingConditional Logic

Build a customer activity report that correctly handles NULLs from LEFT JOINs. For each customer, show name, membership, order_count (0 for customers with no orders, not NULL), total_spent (0.00 for no orders), and status ('active' if any orders exist, 'inactive' otherwise). Sort by order_count DESC, name. Understanding NULL semantics in LEFT JOINs is tested at every FAANG company because most candidates incorrectly assume COUNT and SUM handle NULLs automatically.

Solve it in the browser editor →

Runs on SQLite in your browser, graded against the expected result, no signup. A wrong answer gets a diagnosis, not just "incorrect".

Schema

customers

customer_idnameemailsignup_datemembershiptotal_orders
1John Smithjohn.smith@email.com2023-01-15Gold15
2Emma Wilsonemma.wilson@email.com2023-03-20Silver8
3Michael Brownmichael.brown@email.com2023-02-10Gold12

orders

order_idcustomer_idproductcategoryquantitypricetotalorder_datecountrystatus
11Laptop ProElectronics11299.991299.992024-01-15USAcompleted
22Wireless MouseElectronics249.9999.982024-01-16Canadacompleted
33Office ChairFurniture1349.99349.992024-01-17USAcompleted

Expected output: order_count: 0, total_spent: 0.00, status: inactive

Hint

LEFT JOIN keeps all customers. COUNT(o.order_id) returns 0 for NULLs (unlike COUNT(*)). COALESCE(SUM(o.total), 0) converts NULL sum to 0. CASE WHEN COUNT(o.order_id) > 0 THEN 'active' ELSE 'inactive' END.

Concepts

SELECT LEFT JOIN COALESCE Aggregation GROUP BY CASE LEFT JOIN + NULL

Practise the topic: SQL practice questions · JOIN practice · NULL handling practice · GROUP BY exercises · CASE WHEN practice

In these company practice sets

Airbnb · Plaid · Shopify · Snowflake

A SQL Quest challenge matched to patterns reported for these companies — not a question any of them has published.

Related questions

Customers Who Never OrderedMedium · FreeAbove-Average Departments (Derived Table)Medium · FreeManagement Hierarchy OverviewMedium · FreeCount Direct ReportsMedium · FreeCustomer Recency AnalysisMedium · FreeMembership Tier Revenue AnalysisMedium · Free

Where would this cost you points in an interview?

Ten questions, no signup: a Skillmap across nine SQL skills and the one to fix first.

Take the readiness test