Skip to main content
    Skip to main content
    SQL
    Data Analysis
    Learning

    How People Learn SQL: Patterns from 50,000+ Exercises

    SQiLs TeamMarch 24, 202611 min read
    Blog post cover: How People Learn SQL patterns from exercise data

    We recently analyzed exercise completion data across SQiLs to understand how people actually learn SQL. With hundreds of active learners and over 50,000 completed exercises, the patterns are unmistakable.

    Here's what the data reveals about where learners get stuck, which topics they avoid, and what separates casual visitors from people who build real skills.

    Table of Contents

    Most People Never Get Past Beginner

    This is the sharpest finding in our data. Of all the learners who completed at least one beginner exercise, only about a third went on to attempt an intermediate problem.

    LevelProgression Rate
    Beginner(starting point)
    Intermediate~34% of beginners
    Advanced~44% of intermediate
    Expert~23% of advanced

    The beginner-to-intermediate transition is where two-thirds of learners stop. But here's the interesting part: those who do make the jump to intermediate are much more likely to continue. 44% of intermediate learners attempt advanced exercises, a significantly better retention rate than the initial 34%.

    This pattern shows up across learning platforms in general. The first big jump in difficulty is where most people drop off. Once you push through it, momentum carries you forward.

    The takeaway: If you're stuck at the beginner level, you're not alone. But the data suggests that getting through just a few intermediate exercises creates a flywheel effect that keeps you progressing.

    Ready to make the jump? Try this intermediate GROUP BY exercise →


    Where Learners Get Stuck

    Not all SQL topics are created equal. We looked at average engagement per exercise across different topics to see which ones attract the most practice and which ones people avoid.

    TopicRelative Engagement
    Basic Data RetrievalVery High
    Data FilteringHigh
    Row FunctionsModerate
    Sort OperationsModerate
    Group FunctionsModerate
    Join StatementsLow
    SubqueriesLow
    Conditional LogicVery Low
    Window FunctionsVery Low
    CTEsVery Low
    Ranking FunctionsVery Low

    The drop from Basic Data Retrieval to Window Functions is roughly a 30x difference in engagement per exercise. That's not just a difficulty increase. It reflects a fundamental shift in how SQL is being used.

    JOINs are the first real wall. Engagement drops sharply when learners hit Join Statements. This makes sense: JOINs require understanding table relationships, which is a conceptual leap beyond filtering rows in a single table.

    Window Functions and CTEs are where most people give up. We have plenty of content in these areas, but completion rates are low. Fewer than 15% of our active learners have attempted a window function exercise, and even fewer have tried a CTE. These are the topics that separate a casual SQL user from someone who can write production-level queries.

    Here's the type of SQL we use to generate these breakdowns:

    SELECT t.tag AS topic,
           COUNT(DISTINCT e.id) AS exercises,
           ROUND(COUNT(ec.id)::NUMERIC
                 / COUNT(DISTINCT e.id), 1) AS avg_completions
    FROM exercises e
    CROSS JOIN LATERAL unnest(e.tags) AS t(tag)
    LEFT JOIN exercise_completions ec
           ON e.id = ec.exercise_id
    GROUP BY t.tag
    ORDER BY avg_completions DESC;
    

    The takeaway: If you can write JOINs comfortably, you're already ahead of the majority. If you can write window functions, you're in the top 15% of SQL practitioners on our platform.

    Test your JOIN skills with Comprehensive Order Details →


    The Consistency Gap

    How many exercises do people complete in total? The distribution tells a clear story about learning persistence.

    Exercises CompletedShare of Learners
    1~16%
    2 to 5~21%
    6 to 10~23%
    11 to 20~21%
    21 to 50~13%
    51+~5%

    About one in six learners completes a single exercise and never returns. But over 60% complete six or more, which suggests that most people who clear the initial hurdle do build some momentum.

    The roughly 5% who complete 51+ exercises are the power users. These are people who've made SQL practice a habit, not a one-time event.

    The takeaway: The magic number seems to be around 6. If you can push past 5 completed exercises, you're statistically likely to continue. The first few sessions are the hardest to get through.


    When People Practice

    We looked at exercise completions by day of the week. The patterns reflect a global user base that skews toward European and Middle Eastern time zones.

    DayRelative Activity
    WednesdayHighest
    MondayHigh
    SundayAbove Average
    FridayAverage
    TuesdayBelow Average
    ThursdayBelow Average
    SaturdayLowest

    Wednesday is the most popular day for SQL practice, with almost twice the activity of Saturday. The midweek peak suggests that many learners practice during the work week, possibly during lunch breaks or between tasks. Saturday is the quietest day by a wide margin.

    Peak activity by hour occurs in the late morning to early afternoon UTC window, consistent with European and Middle Eastern working hours.

    The takeaway: Most SQL learners practice during working hours on weekdays. If you want to build a study habit, blocking 30 minutes during your workday lunch break is more effective than trying to study on Saturday evenings.


    What the Top Learners Do Differently

    We compared the behavior of learners who progressed to advanced exercises against those who stayed at beginner level. Three patterns stood out.

    1. They complete beginner exercises quickly and move on. Rather than perfecting every beginner problem before advancing, they get comfortable with the basics and jump to intermediate challenges while the fundamentals are still fresh.

    2. They practice across multiple topics. The learners who stay at beginner level tend to stick with one topic (usually Basic Data Retrieval or Data Filtering). Advanced learners spread their practice across JOINs, GROUP BY, and subqueries early on.

    3. They don't skip the hard stuff. Window Functions and CTEs have the lowest completion rates overall, but advanced learners tackle them anyway. Learners at the advanced level account for a disproportionate share of window function and CTE completions.

    The takeaway: Don't aim to master one topic before touching the next. A broader practice approach, even if it feels uncomfortable, builds skills faster than staying in your comfort zone.

    Challenge yourself with a Window Functions exercise →


    What This Means for Your SQL Practice

    Based on what we've seen in the data, here are concrete recommendations for structuring your SQL learning:

    1. Get past the first five exercises. The data shows that the biggest drop-off happens between exercises 1 and 5. Push through this initial friction. It gets easier.

    2. Move to intermediate problems sooner than feels comfortable. Two-thirds of learners never attempt intermediate exercises. Don't wait until you feel "ready." If you can write basic SELECT and WHERE queries, you're ready for GROUP BY and JOINs.

    3. Practice JOINs until they're boring. JOINs are the skill that separates people who "know some SQL" from people who can actually work with relational data. Our data shows JOINs as the first major difficulty wall. Get over it, and the path to advanced topics is much smoother.

    4. Don't avoid Window Functions. Fewer than 15% of our learners have attempted a window function exercise. These are the queries that impress in interviews and save hours of work in real jobs. Even one window function exercise per week will put you ahead of the vast majority of SQL learners.

    5. Practice during the week, not on weekends. Our data shows that weekday practice is far more common and, based on progression rates, more effective. Build SQL into your work routine rather than saving it for the weekend.


    Practice Makes Perfect

    Here are six exercises that follow a natural learning progression:

    ExerciseWhat You'll Practice
    List All Music Artist Names →Basic SELECT on a real database
    Songs Ending in Life →WHERE with pattern matching (LIKE)
    Longest and Shortest Track Durations →GROUP BY with MIN and MAX
    Comprehensive Order Details →Multi-table JOINs
    Compare Invoice to City Average →Window functions
    Forward Fill Missing Values →CTEs with window functions

    Join 500+ SQL learners already practicing on SQiLs. Browse all exercises →


    Summary

    • Only about a third of beginners progress to intermediate exercises, but those who do are much more likely to keep advancing
    • JOINs are the first major difficulty wall, with a sharp drop in engagement
    • Window Functions and CTEs are the least attempted topics, completed by fewer than 15% of learners
    • The "magic number" for retention is around 6 exercises. Push past 5, and you're likely to keep going.
    • Wednesday is peak SQL practice day. Saturday is the quietest.
    • Top learners practice across multiple topics rather than perfecting one area at a time

    Want to see where you stand? Start practicing on SQiLs →


    Frequently Asked Questions

    How long does it take to learn SQL?

    Based on our data, learners who practice consistently can cover basic queries (SELECT, WHERE, GROUP BY) in about a week. Progressing to intermediate topics like JOINs and subqueries takes another 2 to 4 weeks. Advanced skills like window functions and CTEs require 1 to 2 months of regular practice. The key factor is consistency, not total hours.

    What is the hardest SQL topic for beginners?

    Our completion data shows that JOINs are the first major difficulty spike. Engagement per exercise drops sharply compared to sorting and aggregation. Window Functions and CTEs are the hardest overall, though these are typically attempted by intermediate and advanced learners rather than true beginners.

    How many SQL exercises should I do per day?

    Our most successful learners (those who progress to advanced difficulty) complete an average of 2 to 3 exercises per session. Quality matters more than quantity. Spending 20 minutes on one exercise you struggle with is more valuable than breezing through 10 easy ones.

    Is SQL practice better on weekdays or weekends?

    Our data shows a clear weekday preference, with Wednesday seeing roughly twice the activity of Saturday. The learners who progress furthest tend to practice during the work week, often during breaks. This likely works better because SQL stays top-of-mind when practiced alongside your regular work.

    Related Posts