Study planner
SQL tracker
Concepts from SELECT to MVCC, plus 20 business case studies solved several ways. 252 topics. Open a topic to study it, then tick your progress.
SQL studied0 of 252
Studied, Practised, Mock Q, Rev 1, Rev 2, Rev 3 and a confidence score (1–5) for each topic, as in the planner spreadsheet. A topic counts as complete once it is marked studied.
Saved in this browser only. Back it up from the study planner page.
| # | Topic | Category | Level | Studied | Practised | Mock Q | Rev 1 | Rev 2 | Rev 3 | Confidence |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | SELECT, WHERE & basic filtering | Beginner | Beginner | |||||||
| 2 | DISTINCT and de-duplication | Beginner | Beginner | |||||||
| 3 | ORDER BY multi-column sorting | Beginner | Beginner | |||||||
| 4 | LIMIT / TOP / FETCH FIRST | Beginner | Beginner | |||||||
| 5 | Aliases and column naming | Beginner | Beginner | |||||||
| 6 | Comparison & logical operators | Beginner | Beginner | |||||||
| 7 | IN, BETWEEN, LIKE patterns | Beginner | Beginner | |||||||
| 8 | NULL handling with IS NULL / COALESCE | Beginner | Beginner | |||||||
| 9 | CASE WHEN expressions | Beginner | Beginner | |||||||
| 10 | String functions (CONCAT, SUBSTRING, TRIM) | Beginner | Beginner | |||||||
| 11 | Date functions basics | Beginner | Beginner | |||||||
| 12 | CAST and data type conversion | Beginner | Beginner | |||||||
| 13 | Arithmetic & rounding | Beginner | Beginner | |||||||
| 14 | Aggregate functions (SUM, AVG, MIN, MAX) | Beginner | Beginner | |||||||
| 15 | COUNT vs COUNT(DISTINCT) | Beginner | Beginner | |||||||
| 16 | GROUP BY fundamentals | Beginner | Beginner | |||||||
| 17 | HAVING vs WHERE | Beginner | Beginner | |||||||
| 18 | Conditional aggregation | Intermediate | Intermediate | |||||||
| 19 | UNION vs UNION ALL | Beginner | Beginner | |||||||
| 20 | EXCEPT / INTERSECT set operations | Advanced | Advanced | |||||||
| 21 | INNER JOIN basics | Beginner | Beginner | |||||||
| 22 | LEFT JOIN basics | Beginner | Beginner | |||||||
| 23 | RIGHT JOIN & FULL OUTER JOIN | Intermediate | Intermediate | |||||||
| 24 | Self Join patterns | Intermediate | Intermediate | |||||||
| 25 | Cross Join & cartesian products | Intermediate | Intermediate | |||||||
| 26 | Multi-table joins | Intermediate | Intermediate | |||||||
| 27 | Semi-join with EXISTS | Intermediate | Intermediate | |||||||
| 28 | Anti-join (NOT EXISTS / LEFT JOIN NULL) | Intermediate | Intermediate | |||||||
| 29 | LATERAL / CROSS APPLY joins | Advanced | Advanced | |||||||
| 30 | Subqueries in WHERE | Intermediate | Intermediate | |||||||
| 31 | Subqueries in FROM (derived tables) | Intermediate | Intermediate | |||||||
| 32 | Scalar subqueries | Intermediate | Intermediate | |||||||
| 33 | Correlated subqueries | Intermediate | Intermediate | |||||||
| 34 | Common Table Expressions (CTEs) | Intermediate | Intermediate | |||||||
| 35 | Multiple chained CTEs | Intermediate | Intermediate | |||||||
| 36 | PIVOT rows to columns | Intermediate | Intermediate | |||||||
| 37 | UNPIVOT columns to rows | Intermediate | Intermediate | |||||||
| 38 | Pivoting dynamic columns | Advanced | Advanced | |||||||
| 39 | GROUPING SETS | Intermediate | Intermediate | |||||||
| 40 | ROLLUP and CUBE | Intermediate | Intermediate | |||||||
| 41 | Window function basics (OVER) | Intermediate | Intermediate | |||||||
| 42 | PARTITION BY clause | Intermediate | Intermediate | |||||||
| 43 | ROW_NUMBER() | Intermediate | Intermediate | |||||||
| 44 | RANK() vs DENSE_RANK() | Intermediate | Intermediate | |||||||
| 45 | NTILE() bucketing | Intermediate | Intermediate | |||||||
| 46 | LAG() and LEAD() | Intermediate | Intermediate | |||||||
| 47 | FIRST_VALUE / LAST_VALUE | Intermediate | Intermediate | |||||||
| 48 | Running totals with SUM OVER | Intermediate | Intermediate | |||||||
| 49 | Moving average with frame clause | Intermediate | Intermediate | |||||||
| 50 | Conditional window frames | Advanced | Advanced | |||||||
| 51 | Percent of total | Intermediate | Intermediate | |||||||
| 52 | Cumulative distribution | Intermediate | Intermediate | |||||||
| 53 | Median & percentile (PERCENTILE_CONT) | Advanced | Advanced | |||||||
| 54 | Date truncation & bucketing | Intermediate | Intermediate | |||||||
| 55 | Generate date series / calendar table | Intermediate | Intermediate | |||||||
| 56 | Year-over-year growth | Advanced | Advanced | |||||||
| 57 | Month-over-month change | Advanced | Advanced | |||||||
| 58 | Rolling 7/30 day metrics | Advanced | Advanced | |||||||
| 59 | Top-N per group | Advanced | Advanced | |||||||
| 60 | Deduplicate keeping latest record | Advanced | Advanced | |||||||
| 61 | Slowly changing dimension queries | Advanced | Advanced | |||||||
| 62 | Recursive CTEs | Advanced | Advanced | |||||||
| 63 | Hierarchical / org-chart queries | Advanced | Advanced | |||||||
| 64 | Graph traversal in SQL | Advanced | Advanced | |||||||
| 65 | Gaps and Islands problem | Advanced | Advanced | |||||||
| 66 | Detecting consecutive streaks | Advanced | Advanced | |||||||
| 67 | Sessionization of events | Advanced | Advanced | |||||||
| 68 | Retention analysis | Advanced | Advanced | |||||||
| 69 | Cohort analysis | Advanced | Advanced | |||||||
| 70 | Funnel / conversion analysis | Advanced | Advanced | |||||||
| 71 | First & last touch attribution | Advanced | Advanced | |||||||
| 72 | Market basket / co-occurrence | Advanced | Advanced | |||||||
| 73 | JSON parsing in SQL | Advanced | Advanced | |||||||
| 74 | Array & nested data handling | Advanced | Advanced | |||||||
| 75 | Regex matching in SQL | Advanced | Advanced | |||||||
| 76 | Query optimization & cost reduction | Expert | Expert | |||||||
| 77 | Reading EXPLAIN / execution plans | Expert | Expert | |||||||
| 78 | Query rewriting for performance | Expert | Expert | |||||||
| 79 | Avoiding full table scans | Expert | Expert | |||||||
| 80 | Anti-pattern detection | Expert | Expert | |||||||
| 81 | Index design (B-tree, composite) | Expert | Expert | |||||||
| 82 | Covering indexes | Expert | Expert | |||||||
| 83 | Index selectivity & cardinality | Expert | Expert | |||||||
| 84 | Bitmap indexing | Expert | Expert | |||||||
| 85 | Partitioning strategies | Expert | Expert | |||||||
| 86 | Partition pruning | Expert | Expert | |||||||
| 87 | Materialized views | Expert | Expert | |||||||
| 88 | Columnar vs row storage | Expert | Expert | |||||||
| 89 | Sharding & distributed SQL | Expert | Expert | |||||||
| 90 | Join algorithms (hash, merge, nested loop) | Expert | Expert | |||||||
| 91 | Statistics & the optimizer | Expert | Expert | |||||||
| 92 | Cardinality estimation | Expert | Expert | |||||||
| 93 | CTE materialization trade-offs | Expert | Expert | |||||||
| 94 | Spilling & memory management | Expert | Expert | |||||||
| 95 | Window function performance tuning | Expert | Expert | |||||||
| 96 | Handling skew in aggregations | Expert | Expert | |||||||
| 97 | Approximate distinct (HLL) | Expert | Expert | |||||||
| 98 | Isolation levels (ACID) | Expert | Expert | |||||||
| 99 | Deadlocks & locking | Expert | Expert | |||||||
| 100 | MVCC concepts | Expert | Expert | |||||||
| 101 | Recursive CTEs → Daily Active Users | Advanced | Advanced | |||||||
| 102 | Query optimization & cost reduction → Monthly Revenue | Expert | Expert | |||||||
| 103 | RIGHT JOIN & FULL OUTER JOIN → Customer Lifetime Value | Intermediate | Intermediate | |||||||
| 104 | Hierarchical / org-chart queries → Churn Rate | Advanced | Advanced | |||||||
| 105 | Reading EXPLAIN / execution plans → Average Order Value | Expert | Expert | |||||||
| 106 | Self Join patterns → Conversion Funnel | Intermediate | Intermediate | |||||||
| 107 | Graph traversal in SQL → New vs Returning Customers | Advanced | Advanced | |||||||
| 108 | Index design (B-tree, composite) → Top Selling Products | Expert | Expert | |||||||
| 109 | Cross Join & cartesian products → Inventory Turnover | Intermediate | Intermediate | |||||||
| 110 | Gaps and Islands problem → Employee Hierarchy | Advanced | Advanced | |||||||
| 111 | Covering indexes → Fraud Pattern Detection | Expert | Expert | |||||||
| 112 | Multi-table joins → Session Duration | Intermediate | Intermediate | |||||||
| 113 | Sessionization of events → A/B Test Results | Advanced | Advanced | |||||||
| 114 | Index selectivity & cardinality → Subscription Renewals | Expert | Expert | |||||||
| 115 | Anti-join (NOT EXISTS / LEFT JOIN NULL) → Refund Analysis | Intermediate | Intermediate | |||||||
| 116 | Retention analysis → Lead Scoring | Advanced | Advanced | |||||||
| 117 | Partitioning strategies → Page View Paths | Expert | Expert | |||||||
| 118 | Semi-join with EXISTS → Cart Abandonment | Intermediate | Intermediate | |||||||
| 119 | Cohort analysis → Loyalty Tiers | Advanced | Advanced | |||||||
| 120 | Partition pruning → Regional Sales Split | Expert | Expert | |||||||
| 121 | Subqueries in WHERE → Daily Active Users | Intermediate | Intermediate | |||||||
| 122 | Funnel / conversion analysis → Monthly Revenue | Advanced | Advanced | |||||||
| 123 | Materialized views → Customer Lifetime Value | Expert | Expert | |||||||
| 124 | Subqueries in FROM (derived tables) → Churn Rate | Intermediate | Intermediate | |||||||
| 125 | Median & percentile (PERCENTILE_CONT) → Average Order Value | Advanced | Advanced | |||||||
| 126 | Query rewriting for performance → Conversion Funnel | Expert | Expert | |||||||
| 127 | Scalar subqueries → New vs Returning Customers | Intermediate | Intermediate | |||||||
| 128 | Top-N per group → Top Selling Products | Advanced | Advanced | |||||||
| 129 | Avoiding full table scans → Inventory Turnover | Expert | Expert | |||||||
| 130 | Correlated subqueries → Employee Hierarchy | Intermediate | Intermediate | |||||||
| 131 | Deduplicate keeping latest record → Fraud Pattern Detection | Advanced | Advanced | |||||||
| 132 | Join algorithms (hash, merge, nested loop) → Session Duration | Expert | Expert | |||||||
| 133 | Common Table Expressions (CTEs) → A/B Test Results | Intermediate | Intermediate | |||||||
| 134 | Year-over-year growth → Subscription Renewals | Advanced | Advanced | |||||||
| 135 | Statistics & the optimizer → Refund Analysis | Expert | Expert | |||||||
| 136 | Multiple chained CTEs → Lead Scoring | Intermediate | Intermediate | |||||||
| 137 | Month-over-month change → Page View Paths | Advanced | Advanced | |||||||
| 138 | Deadlocks & locking → Cart Abandonment | Expert | Expert | |||||||
| 139 | Conditional aggregation → Loyalty Tiers | Intermediate | Intermediate | |||||||
| 140 | Rolling 7/30 day metrics → Regional Sales Split | Advanced | Advanced | |||||||
| 141 | Isolation levels (ACID) → Daily Active Users | Expert | Expert | |||||||
| 142 | PIVOT rows to columns → Monthly Revenue | Intermediate | Intermediate | |||||||
| 143 | First & last touch attribution → Customer Lifetime Value | Advanced | Advanced | |||||||
| 144 | MVCC concepts → Churn Rate | Expert | Expert | |||||||
| 145 | UNPIVOT columns to rows → Average Order Value | Intermediate | Intermediate | |||||||
| 146 | Market basket / co-occurrence → Conversion Funnel | Advanced | Advanced | |||||||
| 147 | Window function performance tuning → New vs Returning Customers | Expert | Expert | |||||||
| 148 | GROUPING SETS → Top Selling Products | Intermediate | Intermediate | |||||||
| 149 | Slowly changing dimension queries → Inventory Turnover | Advanced | Advanced | |||||||
| 150 | Handling skew in aggregations → Employee Hierarchy | Expert | Expert | |||||||
| 151 | ROLLUP and CUBE → Fraud Pattern Detection | Intermediate | Intermediate | |||||||
| 152 | Detecting consecutive streaks → Session Duration | Advanced | Advanced | |||||||
| 153 | Approximate distinct (HLL) → A/B Test Results | Expert | Expert | |||||||
| 154 | Window function basics (OVER) → Subscription Renewals | Intermediate | Intermediate | |||||||
| 155 | Pivoting dynamic columns → Refund Analysis | Advanced | Advanced | |||||||
| 156 | Bitmap indexing → Lead Scoring | Expert | Expert | |||||||
| 157 | PARTITION BY clause → Page View Paths | Intermediate | Intermediate | |||||||
| 158 | Conditional window frames → Cart Abandonment | Advanced | Advanced | |||||||
| 159 | Columnar vs row storage → Loyalty Tiers | Expert | Expert | |||||||
| 160 | ROW_NUMBER() → Regional Sales Split | Intermediate | Intermediate | |||||||
| 161 | EXCEPT / INTERSECT set operations → Daily Active Users | Advanced | Advanced | |||||||
| 162 | Sharding & distributed SQL → Monthly Revenue | Expert | Expert | |||||||
| 163 | RANK() vs DENSE_RANK() → Customer Lifetime Value | Intermediate | Intermediate | |||||||
| 164 | LATERAL / CROSS APPLY joins → Churn Rate | Advanced | Advanced | |||||||
| 165 | CTE materialization trade-offs → Average Order Value | Expert | Expert | |||||||
| 166 | NTILE() bucketing → Conversion Funnel | Intermediate | Intermediate | |||||||
| 167 | JSON parsing in SQL → New vs Returning Customers | Advanced | Advanced | |||||||
| 168 | Spilling & memory management → Top Selling Products | Expert | Expert | |||||||
| 169 | LAG() and LEAD() → Inventory Turnover | Intermediate | Intermediate | |||||||
| 170 | Array & nested data handling → Employee Hierarchy | Advanced | Advanced | |||||||
| 171 | Anti-pattern detection → Fraud Pattern Detection | Expert | Expert | |||||||
| 172 | FIRST_VALUE / LAST_VALUE → Session Duration | Intermediate | Intermediate | |||||||
| 173 | Regex matching in SQL → A/B Test Results | Advanced | Advanced | |||||||
| 174 | Cardinality estimation → Subscription Renewals | Expert | Expert | |||||||
| 175 | Running totals with SUM OVER → Refund Analysis | Intermediate | Intermediate | |||||||
| 176 | Recursive CTEs → Lead Scoring | Advanced | Advanced | |||||||
| 177 | Query optimization & cost reduction → Page View Paths | Expert | Expert | |||||||
| 178 | Moving average with frame clause → Cart Abandonment | Intermediate | Intermediate | |||||||
| 179 | Hierarchical / org-chart queries → Loyalty Tiers | Advanced | Advanced | |||||||
| 180 | Reading EXPLAIN / execution plans → Regional Sales Split | Expert | Expert | |||||||
| 181 | Percent of total → Daily Active Users | Intermediate | Intermediate | |||||||
| 182 | Graph traversal in SQL → Monthly Revenue | Advanced | Advanced | |||||||
| 183 | Index design (B-tree, composite) → Customer Lifetime Value | Expert | Expert | |||||||
| 184 | Cumulative distribution → Churn Rate | Intermediate | Intermediate | |||||||
| 185 | Gaps and Islands problem → Average Order Value | Advanced | Advanced | |||||||
| 186 | Covering indexes → Conversion Funnel | Expert | Expert | |||||||
| 187 | Date truncation & bucketing → New vs Returning Customers | Intermediate | Intermediate | |||||||
| 188 | Sessionization of events → Top Selling Products | Advanced | Advanced | |||||||
| 189 | Index selectivity & cardinality → Inventory Turnover | Expert | Expert | |||||||
| 190 | Generate date series / calendar table → Employee Hierarchy | Intermediate | Intermediate | |||||||
| 191 | Retention analysis → Fraud Pattern Detection | Advanced | Advanced | |||||||
| 192 | Partitioning strategies → Session Duration | Expert | Expert | |||||||
| 193 | RIGHT JOIN & FULL OUTER JOIN → A/B Test Results | Intermediate | Intermediate | |||||||
| 194 | Cohort analysis → Subscription Renewals | Advanced | Advanced | |||||||
| 195 | Partition pruning → Refund Analysis | Expert | Expert | |||||||
| 196 | Self Join patterns → Lead Scoring | Intermediate | Intermediate | |||||||
| 197 | Funnel / conversion analysis → Page View Paths | Advanced | Advanced | |||||||
| 198 | Materialized views → Cart Abandonment | Expert | Expert | |||||||
| 199 | Cross Join & cartesian products → Loyalty Tiers | Intermediate | Intermediate | |||||||
| 200 | Median & percentile (PERCENTILE_CONT) → Regional Sales Split | Advanced | Advanced | |||||||
| 201 | Query rewriting for performance → Daily Active Users | Expert | Expert | |||||||
| 202 | Multi-table joins → Monthly Revenue | Intermediate | Intermediate | |||||||
| 203 | Top-N per group → Customer Lifetime Value | Advanced | Advanced | |||||||
| 204 | Avoiding full table scans → Churn Rate | Expert | Expert | |||||||
| 205 | Anti-join (NOT EXISTS / LEFT JOIN NULL) → Average Order Value | Intermediate | Intermediate | |||||||
| 206 | Deduplicate keeping latest record → Conversion Funnel | Advanced | Advanced | |||||||
| 207 | Join algorithms (hash, merge, nested loop) → New vs Returning Customers | Expert | Expert | |||||||
| 208 | Semi-join with EXISTS → Top Selling Products | Intermediate | Intermediate | |||||||
| 209 | Year-over-year growth → Inventory Turnover | Advanced | Advanced | |||||||
| 210 | Statistics & the optimizer → Employee Hierarchy | Expert | Expert | |||||||
| 211 | Subqueries in WHERE → Fraud Pattern Detection | Intermediate | Intermediate | |||||||
| 212 | Month-over-month change → Session Duration | Advanced | Advanced | |||||||
| 213 | Deadlocks & locking → A/B Test Results | Expert | Expert | |||||||
| 214 | Subqueries in FROM (derived tables) → Subscription Renewals | Intermediate | Intermediate | |||||||
| 215 | Rolling 7/30 day metrics → Refund Analysis | Advanced | Advanced | |||||||
| 216 | Isolation levels (ACID) → Lead Scoring | Expert | Expert | |||||||
| 217 | Scalar subqueries → Page View Paths | Intermediate | Intermediate | |||||||
| 218 | First & last touch attribution → Cart Abandonment | Advanced | Advanced | |||||||
| 219 | MVCC concepts → Loyalty Tiers | Expert | Expert | |||||||
| 220 | Correlated subqueries → Regional Sales Split | Intermediate | Intermediate | |||||||
| 221 | Market basket / co-occurrence → Daily Active Users | Advanced | Advanced | |||||||
| 222 | Window function performance tuning → Monthly Revenue | Expert | Expert | |||||||
| 223 | Common Table Expressions (CTEs) → Customer Lifetime Value | Intermediate | Intermediate | |||||||
| 224 | Slowly changing dimension queries → Churn Rate | Advanced | Advanced | |||||||
| 225 | Handling skew in aggregations → Average Order Value | Expert | Expert | |||||||
| 226 | Multiple chained CTEs → Conversion Funnel | Intermediate | Intermediate | |||||||
| 227 | Detecting consecutive streaks → New vs Returning Customers | Advanced | Advanced | |||||||
| 228 | Approximate distinct (HLL) → Top Selling Products | Expert | Expert | |||||||
| 229 | Conditional aggregation → Inventory Turnover | Intermediate | Intermediate | |||||||
| 230 | Pivoting dynamic columns → Employee Hierarchy | Advanced | Advanced | |||||||
| 231 | Bitmap indexing → Fraud Pattern Detection | Expert | Expert | |||||||
| 232 | PIVOT rows to columns → Session Duration | Intermediate | Intermediate | |||||||
| 233 | Conditional window frames → A/B Test Results | Advanced | Advanced | |||||||
| 234 | Columnar vs row storage → Subscription Renewals | Expert | Expert | |||||||
| 235 | UNPIVOT columns to rows → Refund Analysis | Intermediate | Intermediate | |||||||
| 236 | EXCEPT / INTERSECT set operations → Lead Scoring | Advanced | Advanced | |||||||
| 237 | Sharding & distributed SQL → Page View Paths | Expert | Expert | |||||||
| 238 | GROUPING SETS → Cart Abandonment | Intermediate | Intermediate | |||||||
| 239 | LATERAL / CROSS APPLY joins → Loyalty Tiers | Advanced | Advanced | |||||||
| 240 | CTE materialization trade-offs → Regional Sales Split | Expert | Expert | |||||||
| 241 | ROLLUP and CUBE → Daily Active Users | Intermediate | Intermediate | |||||||
| 242 | JSON parsing in SQL → Monthly Revenue | Advanced | Advanced | |||||||
| 243 | Spilling & memory management → Customer Lifetime Value | Expert | Expert | |||||||
| 244 | Window function basics (OVER) → Churn Rate | Intermediate | Intermediate | |||||||
| 245 | Array & nested data handling → Average Order Value | Advanced | Advanced | |||||||
| 246 | Anti-pattern detection → Conversion Funnel | Expert | Expert | |||||||
| 247 | PARTITION BY clause → New vs Returning Customers | Intermediate | Intermediate | |||||||
| 248 | Regex matching in SQL → Top Selling Products | Advanced | Advanced | |||||||
| 249 | Cardinality estimation → Inventory Turnover | Expert | Expert | |||||||
| 250 | ROW_NUMBER() → Employee Hierarchy | Intermediate | Intermediate | |||||||
| 251 | Recursive CTEs → Fraud Pattern Detection | Advanced | Advanced | |||||||
| 252 | Query optimization & cost reduction → Session Duration | Expert | Expert |
No topics match these filters
Clear a filter to see more topics.