5 lessons
Views and materialized views
Saving a query as a reusable virtual table, the difference between a view and a materialized view, and when to reach for each.
Stored procedures, functions, and triggers
Moving logic into the database itself - reusable procedures, custom functions, and code that runs automatically on data changes.
Upserts, sequences, and generated keys
Inserting-or-updating atomically with ON CONFLICT, the race condition it prevents, and choosing between auto-increment IDs and UUIDs.
Recursive CTEs and hierarchical data, properly
A full, worked recursive CTE - org charts, category trees, and the base case/recursive case pattern explained step by step.
Classic SQL patterns: nth highest, duplicates, and gaps
The exact query patterns asked in real SQL interviews and needed in real reporting work - solved using everything from this entire course.