Independent Company Challenges

Microsoft-style SQL challenges

Independent Microsoft-style cloud, productivity, subscription, usage, support, and customer analytics SQL practice.

These independent exercises use Microsoft-relevant business domains; they are not claimed to be questions used by Microsoft, and this site is not affiliated with the company.

Exercises
30
Difficulty
Beginner to Hard

What this collection tests

Skills and query patterns

Cloud and productivity products, subscriptions, engagement, support operations, and customer analytics

Curated exercises

Choose a challenge

Work in the live editor where supported. Advanced guided labs state their engine boundary before you open the workspace.

  1. Challenge 1Beginner

    Total Users

    How many users are registered on the Microsoft platform in total?

    • Aggregation

    SQLite live

    Open challenge
  2. Challenge 2Beginner

    Users by Country

    For regional product planning, how many registered users are represented in each country?

    • Aggregation
    • Sorting

    SQLite live

    Open challenge
  3. Challenge 3Beginner

    Microsoft Products

    What Microsoft products are listed in the system?

    • Sorting

    SQLite live

    Open challenge
  4. Challenge 4Easy

    Active Subscriptions

    Which users have active subscriptions right now, and which products are they subscribed to?

    • Date analysis
    • NULL handling
    • Filtering

    SQLite live

    Open challenge
  5. Challenge 5Easy

    Office Subscribers

    Which users are subscribed to Microsoft Office (product_id = 1)?

    • Filtering
    • Sorting

    SQLite live

    Open challenge
  6. Challenge 6Beginner

    Usage Records Count

    How many product usage sessions have been logged in total?

    • Aggregation

    SQLite live

    Open challenge
  7. Challenge 7Beginner

    Support Tickets Count

    How many support tickets have been raised in total?

    • Aggregation

    SQLite live

    Open challenge
  8. Challenge 8Easy

    Closed Support Tickets

    Which support tickets have been resolved and marked as Closed?

    • Filtering
    • Sorting

    SQLite live

    Open challenge
  9. Challenge 9Easy

    Recent Users

    Which users signed up in March 2024?

    • Filtering
    • Sorting

    SQLite live

    Open challenge
  10. Challenge 10Medium

    Revenue by Product

    How much total subscription revenue has each Microsoft product generated?

    • Joins
    • Aggregation
    • NULL handling

    SQLite live

    Open challenge
  11. Challenge 11Medium

    Subscribers per Product

    How many distinct users are subscribed to each Microsoft product?

    • Joins
    • Aggregation
    • Sorting

    SQLite live

    Open challenge
  12. Challenge 12Medium

    Average Usage per Product

    What is the average session length in minutes for each Microsoft product?

    • Joins
    • Aggregation
    • NULL handling

    SQLite live

    Open challenge
  13. Challenge 13Medium

    Most Used Product

    Which product has the highest total usage time across all sessions?

    • Aggregation
    • Sorting
    • Top-N

    SQLite live

    Open challenge
  14. Challenge 14Medium

    Highly Active Users

    Which users have logged more than one product usage session?

    • Aggregation
    • HAVING
    • Sorting

    SQLite live

    Open challenge
  15. Challenge 15Medium

    Tickets by Product

    How many support tickets have been raised for each product?

    • Joins
    • Aggregation
    • Sorting

    SQLite live

    Open challenge
  16. Challenge 16Medium

    Users with Support Tickets

    Which users have raised at least one support ticket?

    • Sorting
    • Distinct values

    SQLite live

    Open challenge
  17. Challenge 17Medium

    Subscription Start Order

    List every subscription record from earliest to latest, including its user and product.

    • Date analysis
    • Sorting

    SQLite live

    Open challenge
  18. Challenge 18Hard

    Top Revenue Product

    Which product generates the highest total subscription revenue?

    • Aggregation
    • Sorting
    • Top-N

    SQLite live

    Open challenge
  19. Challenge 19Hard

    User Engagement Score

    What is the total usage time in minutes for each user across all their product sessions?

    • Joins
    • Aggregation
    • NULL handling

    SQLite live

    Open challenge
  20. Challenge 20Hard

    Above Average Users

    Which users have a total usage time above the average total usage across all users?

    • Joins
    • Subqueries
    • Aggregation

    SQLite live

    Open challenge
  21. Challenge 21Hard

    Top Active Users by Usage

    For the top 10 users by total usage, show their country, number of distinct products subscribed to, and total usage minutes.

    • Joins
    • Subqueries
    • Aggregation

    SQLite live

    Open challenge
  22. Challenge 22Hard

    Support Load Percentage

    What percentage of all support tickets does each product account for?

    • Subqueries
    • Aggregation
    • Numeric functions

    SQLite live

    Open challenge
  23. Challenge 23Hard

    Most Problematic Product

    Which product has the most open (unresolved) support tickets?

    • Aggregation
    • Filtering
    • Sorting

    SQLite live

    Open challenge
  24. Challenge 24Hard

    Support Ticket Status by User

    For every user who has raised a support ticket, show their total ticket count and how many are still open.

    • Joins
    • Aggregation
    • CASE expressions

    SQLite live

    Open challenge
  25. Challenge 25Hard

    Power Microsoft Users

    Which users appear in all three activity dimensions: subscriptions, usage logs, AND support tickets?

    • Subqueries
    • Filtering
    • Sorting

    SQLite live

    Open challenge
  26. Challenge 26Beginner

    Product Catalog with Category

    What products does Microsoft offer and what category does each belong to?

    • Sorting

    SQLite live

    Open challenge
  27. Challenge 27Beginner

    Monthly User Signups

    How many users signed up each month?

    • Aggregation
    • Date analysis
    • Sorting

    SQLite live

    Open challenge
  28. Challenge 28Easy

    Open Support Tickets

    Which support tickets are currently open and waiting for resolution?

    • Date analysis
    • Filtering
    • Sorting

    SQLite live

    Open challenge
  29. Challenge 29Medium

    Subscription and Usage Per User

    For each user, show their subscribed product name, subscription price, and total usage minutes.

    • Joins
    • Aggregation
    • NULL handling

    SQLite live

    Open challenge
  30. Challenge 30Hard

    Top User per Country by Usage

    In each country, which user has logged the most total product usage time?

    • CTEs
    • Window functions
    • Joins

    SQLite live

    Open challenge
01

Attempt

Write a query or design from the brief before opening any hints.

02

Validate

Run it against the included dataset and inspect the output.

03

Explain

Compare the verified answer and explain each choice aloud.

Learn before practicing Microsoft

Strengthen your understanding with these targeted learning topics:

Continue practicing

SQL Interview Practice

Return to the complete interview preparation experience.