Missing values and dates, two traps that produce wrong numbers
Missing values and dates can quietly skew a metric without triggering a single error. This lesson teaches you to spot these traps, group by period and check what a table really covers before drawing conclusions. You avoid presenting a drop to leadership that only reflects a gap in the data.
Lesson objective
By the end of this lesson, you will be able to handle NULL values correctly (IS NULL, COUNT of a column, COALESCE, average over known values), group and filter by period with date functions, and check the period covered by a table before computing an indicator.
Topics covered
- NULL values
- COALESCE
- SQL date functions
- data coverage
- data quality
Where it fits
First queries
How do I get a reliable number from a table myself, without being caught out by missing values and dates?
Lessons in this module
- Load the dataset and write your first SELECT queries
- Count, sum, group
- Missing values and dates, two traps that produce wrong numbers (this lesson)
What you will learn in the course
This lesson is part of the course Model your product’s data and query it with SQL
- Read a data model (tables, primary and foreign keys, cardinalities, entity-relationship diagram) and connect it to the product's screens and rules.
- Model the data of a feature (entities, attributes, relationships, keys, cardinalities) and get the model validated by the engineering team.
- Compare a relational database and a document (NoSQL) database for a product need and justify the choice based on expected queries, consistency and change.
- Write queries that filter, sort and aggregate (SELECT, WHERE, ORDER BY, GROUP BY, HAVING) while handling NULL values and dates correctly.
- Combine several tables with INNER and LEFT joins, and check that the result neither loses nor duplicates any row.
- Turn a product question into a verifiable query, using CTEs and simple window functions (ROW_NUMBER, LAG, SUM OVER).
- Query data read-only while protecting personal data, and have an AI draft SQL while checking every query before using its result.
Related courses
- Git for PMs: ship as a team without putting production at riskAdvanced · ~3 hr 30 min
- Explain how a web product works, from browser to serverAll levels · ~2 hr 30 min
- Design and test an API integration as a PMJunior · ~3 hr