Focused path · SQL Analyst
SQL 50
50 canonical experiences selected to strengthen foundations, business analysis and window functions. They share progress with the main catalogue.
Skills covered
Precisely define output columnsRespect the order requested by the recipientAvoid SELECT* in a query intended for reuseTranslate a business threshold into a predicate WHEREChoosing between strict superior and superior or equalProduce a repeatable order with ORDER BYEliminate duplicates with DISTINCTSort before limiting
Your practice plan
One clear next step, all the way to 50/50.
Choose your pace. Both modes use the same exercises and shared progress.
Show only the name and price of each product.
Start SQL 50 →SQL 50 progress0 / 50
2 of 50 exercises are open with your current access.
Your successes are saved on this device. Create a free account to sync them and resume anywhere.SQL 50 milestones
Every success moves your level forward.
0XP earned in SQL 50
Level 1Discovery200 XP to the next level
Next milestoneFirst momentum5 exercises left
- First momentum5 / 50
- Foundations15 / 50
- Connected queries25 / 50
- Ready for analysis40 / 50
- SQL 50 complete50 / 50
XP is calculated from distinct completed exercises, never from the number of attempts.
1Module 1Read, filter and sortSelect the right rows and make the result reproducible.0 / 7
- Select the correct columnsSELECT · Beginner · 15 minDo this nowView details
- Filter and sort ordersWHERE · ORDER BY · Beginner · 15 minAvailableView details
- List unique categoriesDISTINCT · LIMIT · Beginner · 15 minAccess requiredView details
- Filter a price rangeBETWEEN · Beginner · 15 minAccess requiredView details
- Filter multiple statusesIN · Beginner · 15 minAccess requiredView details
- Search for a prefix with LIKELIKE · Beginner · 15 minAccess requiredView details
- Identify missing deliveriesIS NULL · Beginner · 15 minAccess requiredView details
2Module 2Prepare and summarise dataHandle NULL, text, dates, calculations and first indicators.0 / 8
- Replace a NULL value with COALESCENULL · COALESCE · Beginner · 15 minAccess requiredView details
- Calculate a price including taxExpressions · ROUND · Beginner · 15 minAccess requiredView details
- Assemble a product labelText · Concatenation · Beginner · 15 minAccess requiredView details
- Normalize a list of citiesTRIM · UPPER · DISTINCT · Beginner · 15 minAccess requiredView details
- Extract the year of registrationDates · EXTRACT · Beginner · 15 minAccess requiredView details
- Calculate paid order indicatorsCOUNT · SUM · AVG · Beginner · 15 minAccess requiredView details
- Group revenue by categoryGROUP BY · HAVING · Beginner · 15 minAccess requiredView details
- Keep customers without ordersLEFT JOIN · COUNT · Beginner · 15 minAccess requiredView details
3Module 3Join tables without breaking the grainChoose the right join and control what each row represents.0 / 7
- Connect customers and ordersINNER JOIN · Intermediate · 25 minAccess requiredView details
- Find customers without ordersLEFT JOIN · HAVING · Intermediate · 25 minAccess requiredView details
- Calculate the average basket per customerJOIN · AVG · Intermediate · 25 minAccess requiredView details
- Calculate revenue using three tablesJOIN · GROUP BY · Intermediate · 25 minAccess requiredView details
- Connect a table to itselfSELF JOIN · Intermediate · 25 minAccess requiredView details
- Find the first orderMIN · GROUP BY · Intermediate · 25 minAccess requiredView details
- Filter an average basket with HAVINGAVG · HAVING · Intermediate · 25 minAccess requiredView details
4Module 4Subqueries and set operationsTest existence, compare a benchmark and combine sources.0 / 5
- Test for the existence of a large orderEXISTS · Intermediate · 25 minAccess requiredView details
- Compare to average priceSubquery · AVG · Intermediate · 25 minAccess requiredView details
- Merge customers and prospectsUNION · Intermediate · 25 minAccess requiredView details
- Keep origin with UNION ALLUNION ALL · Intermediate · 25 minAccess requiredView details
- Find the intersection of two listsINTERSECT · Intermediate · 25 minAccess requiredView details
5Module 5Structure and control an analysisUse CTEs to reconcile, deduplicate and expose the method.0 / 7
- Segment customers with a CTECTE · CASE · Intermediate · 25 minAccess requiredView details
- Detect duplicate emailsQuality · HAVING · Intermediate · 25 minAccess requiredView details
- Reconcile orders and paymentsQuality · Subqueries · Intermediate · 25 minAccess requiredView details
- Calculate the overall margin with a CTECTE · Calculations · Intermediate · 25 minAccess requiredView details
- Rank the top three categoriesCTE · TOP N · Intermediate · 25 minAccess requiredView details
- Compare each month to the previous oneCTE · Auto-join · Intermediate · 25 minAccess requiredView details
- Measure phone completenessNULL · COUNT · Intermediate · 25 minAccess requiredView details
6Module 6Build reliable KPIsTurn a business request into dated, segmented and interpretable indicators.0 / 6
- Calculate monthly revenueDates · GROUP BY · Intermediate · 25 minAccess requiredView details
- Analyze a quarter with limitsDates · WHERE · Intermediate · 25 minAccess requiredView details
- Classify inventory riskCASE WHEN · Intermediate · 25 minAccess requiredView details
- Calculate multiple statuses in one lineCASE · Aggregations · Intermediate · 25 minAccess requiredView details
- Calculate margin by categoryProject · joins · Intermediate · 25 minAccess requiredView details
- Track monthly payment rateProject · KPI · Intermediate · 25 minAccess requiredView details
7Module 7Cohorts, segmentation and time seriesMove into multi-step Analyst cases and advanced functions.0 / 5
- Avoid double counting after several joinslevel of detail · joins · Aggregations · Advanced · 55 minAccess requiredView details
- Building a cohort and measuring retentionCohorts · Retention · Dates · Advanced · 55 minAccess requiredView details
- Build a complete RFM segmentationRFM · Segmentation · CASE · Advanced · 55 minAccess requiredView details
- Measure a funnel without counting duplicate eventsFunnel · Conversion · FILTER · Advanced · 55 minAccess requiredView details
- Analyze a time series with missing monthsTime series · LAG · Frames · Advanced · 55 minAccess requiredView details
8Module 8Audit and decide independentlyDetect grain bias, justify controls and defend a business conclusion.0 / 5
- Deduplicate with a deterministic ruleQuality · ROW_NUMBER · Ties · Advanced · 55 minAccess requiredView details
- Analyze the margin and real contributionMargin · Contribution · Multi-table · Advanced · 55 minAccess requiredView details
- Audit a KPI before publicationKPI quality · level of detail · Reconciliation · Advanced · 55 minAccess requiredView details
- Clean an imperfect dataset before analysisQuality · NULL · References · Advanced · 55 minAccess requiredView details
- Conduct an autonomous seller analysisAutonomous analysis · Decision · Advanced · 55 minAccess requiredView details