Small challenges.
Stronger problem solving.
352 programming exercises and projects, from interview patterns to practical data automation.
42 problems
01Select customer namesSQL · Tables, rows, and output contractsEasyFree02Name an output columnSQL · Tables, rows, and output contractsEasyFree03Preserve duplicate citiesSQL · Tables, rows, and output contractsEasyFree04Filter paid ordersSQL · Filtering with precise predicatesEasyFree05Filter a closed amount rangeSQL · Filtering with precise predicatesEasyFree06Combine conditionsSQL · Filtering with precise predicatesMediumPractice pack07Find missing emailSQL · NULL and missing valuesMediumPractice pack08Default missing emailSQL · NULL and missing valuesMediumPractice pack09Find present emailsSQL · NULL and missing valuesMediumPractice pack10Choose the two largest ordersSQL · Ordering, ties, and paginationMediumPractice pack11Sort across two keysSQL · Ordering, ties, and paginationMediumPractice pack12Page through order idsSQL · Ordering, ties, and paginationMediumPractice pack13Classify order statusSQL · Expressions and safe normalizationMediumPractice pack14Trim boundary spacesSQL · Expressions and safe normalizationMediumPractice pack15Compute a numeric projectionSQL · Expressions and safe normalizationMediumPractice pack16Count all ordersSQL · Aggregates and empty inputMediumPractice pack17Sum paid amountsSQL · Aggregates and empty inputMediumPractice pack18Count known email valuesSQL · Aggregates and empty inputMediumPractice pack19Group customer countsSQL · Grouping and HAVINGMediumPractice pack20Filter aggregate groupsSQL · Grouping and HAVINGMediumPractice pack21Group amount totals by statusSQL · Grouping and HAVINGMediumPractice pack22Attach customer namesSQL · Joins and unmatched recordsMediumPractice pack23Keep customers without ordersSQL · Joins and unmatched recordsMediumPractice pack24Find unmatched ordersSQL · Joins and unmatched recordsMediumPractice pack25Compare against a scalar aggregateSQL · Subqueries and existenceMediumPractice pack26Use NOT EXISTSSQL · Subqueries and existenceMediumPractice pack27Name a filtered intermediate resultSQL · CTEs as named stagesMediumPractice pack28Compose a grouped CTESQL · CTEs as named stagesMediumPractice pack29Rank tied amountsSQL · Window functions and framesMediumPractice pack30Compute an ordered running totalSQL · Window functions and framesMediumPractice pack31Summarize ISO date monthsSQL · Calendar dates and half-open rangesMediumPractice pack32Use a half-open date rangeSQL · Calendar dates and half-open rangesMediumPractice pack33Deduplicate a projectionSQL · Deduplication and deterministic winnersMediumPractice pack34Choose a deterministic email representativeSQL · Deduplication and deterministic winnersMediumPractice pack35Flag blank or missing emailsSQL · Data-quality checks as reportsMediumPractice pack36Find repeated contact keysSQL · Data-quality checks as reportsMediumPractice pack37Report paid amounts by customer citySQL · Reports with stable schemasMediumPractice pack38Produce fixed status countersSQL · Reports with stable schemasMediumPractice pack39Subtract preaggregated returnsSQL · Repeatable multi-stage SQL pipelinesMediumPractice pack40Choose one largest order per customerSQL · Repeatable multi-stage SQL pipelinesMediumPractice pack41Project: sales-and-returns reportSQL · Repeatable multi-stage SQL pipelinesMediumPractice pack42Project: data-quality auditSQL · Repeatable multi-stage SQL pipelinesMediumPractice pack
Progress is for your own learning. Browser test results are not a verified assessment.