Module 10 Knowledge Check
5 questions. Pass mark 4 out of 5. Answer every question before checking the answer key below, then retry after reading the feedback.
1. The single most useful reconciliation check after a join is…
- A. Column count
- B. Row count before versus after
- C. Query length
- D. Index count
2. Your total does not match the source system by 0.4%. The correct first move is…
- A. Report it anyway
- B. Find and explain the difference before publishing
- C. Round the number
- D. Increase LIMIT
3. A good sanity check for a revenue query is…
- A. That it runs quickly
- B. That order count × plausible average order value is near the total
- C. That it uses a CTE
- D. That it returns 100 rows
4. Edge cases worth testing before trusting a query include…
- A. Only the happy path
- B. Empty groups, NULLs, duplicates, boundary dates, and negative or refunded amounts
- C. Only the largest values
- D. Nothing
5. Why re-run validation after 'a small change' to a query?
- A. It is not needed
- B. Revisions can silently reintroduce a grain change or drop rows
- C. To improve speed
- D. To refresh the cache
---
Answer Key and Explanations
Check these only after attempting every question.
1. B - Row count before versus after
An unintended row-count change is the signature of a grain change.
2. B - Find and explain the difference before publishing
An unexplained variance usually indicates filters, timezones, refunds, or status rules you have not accounted for.
3. B - That order count × plausible average order value is near the total
Magnitude checks catch order-of-magnitude errors that detailed review often misses.
4. B - Empty groups, NULLs, duplicates, boundary dates, and negative or refunded amounts
These are exactly the inputs that make otherwise correct SQL produce wrong reports.
5. B - Revisions can silently reintroduce a grain change or drop rows
Most reporting errors arrive in the final edit, after the careful review has already happened.
Practical Check
Apply this module to your own work: complete the module activity for *Query Validation: Reconciliation, Edge Cases, and Sanity Checks*, then write one sentence naming what your result shows and one naming what it does not.
Strong Answer Pattern
A strong answer names the task, the evidence used, the check performed, and the remaining limitation. It avoids "proved", "guaranteed", or "always" unless the evidence genuinely supports it.
