31 Days of SQL for Data Engineering: Zero to Hero

Looking to pick up a new skill, how about learning SQL, a universally used programming language within backend software engineering and data professionals across the entire industry, perfect for business analysis, reporting and database modelling.

This series is completely free to go through and is split into weekly categories. All I ask is if you’re enjoying the content to like, share and subscribe for more materials and deep-dives.

Starts August 1st 2025


Week 1: Foundations & Lab Setup

Day 1: Why SQL Still Runs the Modern Data Stack
Day 2: Building Your Lab
Day 3: Tables, Schemas & Data Types
Day 4: SELECT 101
Day 5: Filtering Rows
Day 6: Sorting & Pagination
Day 7: Week-1 Recap & Quiz

Week 2: Joins & Analysis Patterns

Day 8: Inner & Outer Joins Demystified
Day 9: Aggregations & GROUP BY
Day 10: Sub-queries vs CTEs
Day 11: Views & Materialised Views
Day 12: Window Functions
Day 13: Strings, Dates & JSON
Day 14: Project Ⅰ – KPI Dashboard Queries: build reusable KPI views and publish them to Power BI in Fabric.

Week 3: Data-Engineering Workloads

Day 15: Bulk Loading & Staging
Day 16: Transactions & Concurrency
Day 17: Indexing Strategies
Day 18: Partitioning & Clustering
Day 19: Dimensional Modelling
Day 20: Semi-Structured Data
Day 21: Project Ⅱ – Incremental ETL Pipeline: build a nightly T-SQL MERGE pipeline and schedule it with Fabric Data Pipelines.


Week 4: Advanced Fabric Operations

Day 22: Inside Spark SQL
Day 23: Procedures, Functions & UDFs
Day 24: Change Data Capture
Day 25: Streaming with SQL
Day 26: Security & Governance
Day 27: Testing & CI/CD
Day 28: Orchestrating Pipelines


Week 5: Bringing It All Together

Day 29: Lakehouse ↔ Warehouse Deep Dive
Day 30: Capstone – Mini Fabric Data Platform
Day 31: Intro to KQL in Real-Time Intelligence


If you happen to come across this page and the days are still white text, it means you’re still able to follow along. Each hyperlink will be added as soon as the day is released so stay tuned.

If you have any issues, please let me know.