| 1 | | |
| Course Roadmap | | |
| Course Setup | | |
| Join the Community | | |
| 2 | | |
| What is SQL? | High | |
| The Relational Model | High | |
| Keys and Constraints | High | |
| Normalization | High | |
| Denormalization | Medium | |
| 3 | | |
| The SELECT Statement | High | |
| Exercise - SELECT Statement | | |
| Filtering with WHERE | High | |
| Exercise - Filtering with WHERE | | |
| BETWEEN and IN | Medium | |
| Exercise - BETWEEN and IN | | |
| LIKE and Pattern Matching | Medium | |
| Exercise - LIKE and Pattern Matching | | |
| NULL Handling and COALESCE | High | |
| Exercise - NULL Handling and COALESCE | | |
| CASE WHEN Expressions | High | |
| Exercise - CASE WHEN Expressions | | |
| Sorting and Pagination | Medium | |
| Exercise - Sorting and Pagination | | |
| DISTINCT | Medium | |
| Exercise - DISTINCT | | |
| Scalar Functions: Strings, Numbers, Dates | Medium | |
| Exercise - Scalar Functions | | |
| Date and Time | Medium | |
| Exercise - Date and Time | | |
| Table and Column Aliases | Medium | |
| Exercise - Table and Column Aliases | | |
| 4 | | |
| Aggregate Functions: COUNT, SUM, AVG | High | |
| Exercise - COUNT, SUM, AVG | | |
| MIN, MAX, and Finding Rows with Extreme Values | High | |
| Exercise - MIN, MAX, and Extreme Values | | |
| GROUP BY and HAVING | High | |
| Exercise - GROUP BY and HAVING | | |
| Advanced Grouping: ROLLUP, CUBE, GROUPING SETS | Low | |
| Exercise - Advanced Grouping | | |
| String and Conditional Aggregation | Medium | |
| Exercise - String and Conditional Aggregation | | |
| 5 | | |
| Introduction to Joins | High | |
| INNER JOIN | High | |
| Exercise - INNER JOIN | | |
| LEFT JOIN | High | |
| Exercise - LEFT JOIN | | |
| RIGHT JOIN | Medium | |
| Exercise - RIGHT JOIN | | |
| FULL OUTER JOIN | Medium | |
| Exercise - FULL OUTER JOIN | | |
| CROSS JOIN | Medium | |
| Exercise - CROSS JOIN | | |
| SELF JOIN | High | |
| Exercise - SELF JOIN | | |
| LATERAL JOIN and Join Interview Patterns | Medium | |
| Exercise - LATERAL JOIN and Patterns | | |
| 6 | | |
| Subquery Fundamentals | High | |
| Exercise - Subquery Fundamentals | | |
| EXISTS, NOT EXISTS, IN, and NOT IN | High | |
| Exercise - EXISTS, NOT EXISTS, IN, NOT IN | | |
| Correlated Subqueries | High | |
| Exercise - Correlated Subqueries | | |
| Common Table Expressions (CTEs) | High | |
| Exercise - Common Table Expressions | | |
| Recursive CTEs | Medium | |
| Exercise - Recursive CTEs | | |
| 7 | | |
| Introduction to Window Functions | High | |
| Exercise - Introduction to Window Functions | | |
| ROW_NUMBER | High | |
| Exercise - ROW_NUMBER | | |
| RANK, DENSE_RANK, and Distribution Functions | High | |
| Exercise - RANK, DENSE_RANK, Distribution | | |
| LAG, LEAD, and Row Comparison | High | |
| Exercise - LAG, LEAD, and Row Comparison | | |
| FIRST_VALUE, LAST_VALUE, NTH_VALUE | Medium | |
| Exercise - FIRST_VALUE, LAST_VALUE, NTH_VALUE | | |
| Window Aggregates: Running Totals and Moving Averages | High | |
| Exercise - Running Totals and Moving Averages | | |
| Gaps and Islands | Medium | |
| Exercise - Gaps and Islands | | |
| 8 | | |
| UNION and UNION ALL | High | |
| Exercise - UNION and UNION ALL | | |
| INTERSECT and EXCEPT | Medium | |
| Exercise - INTERSECT and EXCEPT | | |
| Pivoting and Unpivoting Data | Medium | |
| Exercise - Pivoting and Unpivoting | | |
| 9 | | |
| Creating and Modifying Tables | High | |
| INSERT, UPDATE, DELETE, and UPSERT | High | |
| Views and Materialized Views | Medium | |
| Temporary Tables and Table Expressions | Low | |
| Working with JSON Data | Medium | |
| 10 | | |
| How Indexes Work | High | |
| Composite, Partial, and Covering Indexes | Medium | |
| EXPLAIN and Reading Execution Plans | Medium | |
| Query Optimization and Anti-Patterns | Medium | |
| 11 | Transactions & Concurrency | |
| What is a Transaction? | High | |
| ACID Properties | High | |
| Isolation Levels | High | |
| Locking Mechanisms | Medium | |
| Deadlocks | Medium | |
| MVCC: Multi-Version Concurrency Control | Medium | |
| 12 | | |
| Entity-Relationship Modeling | High | |
| Normal Forms in Practice | High | |
| Denormalization Strategies | Medium | |
| Star Schema and Snowflake Schema | Medium | |
| 13 | | |
| SQL Gotchas and Tricky Behavior | High | |
| Top-N per Group | High | |
| Exercise - Top-N per Group | | |
| Nth Highest / Nth Value | High | |
| Exercise - Nth Highest / Nth Value | | |
| Finding and Removing Duplicates | High | |
| Exercise - Finding and Removing Duplicates | | |
| Consecutive Records and Streaks | Medium | |
| Exercise - Consecutive Records and Streaks | | |
| Period-over-Period Comparisons | Medium | |
| Exercise - Period-over-Period Comparisons | | |
| Running Totals and Cumulative Calculations | Medium | |
| Exercise - Running Totals and Cumulative | | |
| Gaps in Sequences | Medium | |
| Exercise - Gaps in Sequences | | |
| Funnel Analysis, Cohorts, and Retention | Medium | |
| Exercise - Funnel, Cohorts, Retention | | |
| Sessionization and Time-Based Grouping | Medium | |
| Exercise - Sessionization and Time Grouping | | |
| Hierarchical Queries and Tree Traversal | Medium | |
| Exercise - Hierarchical Queries | | |
| Median and Percentile Calculations | Medium | |
| Exercise - Median and Percentile | | |
| Overlap Detection and Date Ranges | Low | |
| Exercise - Overlap Detection and Date Ranges | | |
| Pivot Patterns and Data Reshaping | Medium | |
| Exercise - Pivot Patterns and Data Reshaping | | |
| 14 | | |
| User-Defined Functions (UDFs) | Low | |
| Stored Procedures and Procedural SQL | Low | |
| Triggers | Low | |
| 15 | | |
| Users, Roles, and Privileges | Medium | |
| Row-Level and Column-Level Security | Low | |
| SQL Injection and Safe Query Construction | Medium | |