// SQL
Is DataLemur free? What you get without paying
Every example on this page was run on 14 October 2026 in the SQL database on this page, which is close to PostgreSQL, and the output under each one is what it printed. How we test these posts.
DataLemur is free to start but not fully free. On 14 Oct 2026, 106 of the 237 questions on its question list were free, including 54 of its 100 SQL questions, and its SQL tutorial was free too. The rest, mostly statistics and machine learning questions, need DataLemur Premium, which cost $15 a month or $60 a year. For SQL-only interview prep, the free tier covers a lot.
Is DataLemur free?
DataLemur has a free tier and a paid tier called Premium. On DataLemur’s question list (checked 14 Oct 2026), a locked question carries a Premium label, and opening one shows “To view this question you must subscribe to premium.” Every other question opens without paying. The free SQL tutorial sits outside the question list and has no Premium label on any lesson.
How many DataLemur questions are free?
DataLemur’s question list showed 237 questions on 14 Oct 2026, and 106 of them were free. The split depends heavily on the category (counted on DataLemur’s question list, checked 14 Oct 2026):
| Category | Free | Premium |
|---|---|---|
| SQL | 54 | 46 |
| Python | 39 | 12 |
| Statistics | 7 | 44 |
| Machine Learning | 5 | 25 |
| Probability | 1 | 4 |
SQL is the most open category. Of the free SQL questions, 21 were Easy, 19 Medium and 14 Hard, so the free set runs from the basics up to hard window function questions. Statistics and machine learning are the opposite: almost all of those questions need Premium.
How much does DataLemur Premium cost?
DataLemur Premium cost $15 a month or $60 a year in US dollars, as DataLemur’s pricing page showed them on 14 Oct 2026. The yearly plan was shown as $5 per month, with $180 struck through. A third option, $300 billed once, added lifetime access, a one-hour video call with the founder, Nick Singh, and a signed copy of his book Ace the Data Science Interview.
The yearly and lifetime options also included a video course, Ace the Data Job Hunt, on resumes, portfolio projects, cold emails and behavioral interviews. The monthly plan did not list it.
What do you get on DataLemur without paying?
A free DataLemur question comes with its hint and its full written solution. The free question we opened, Page With No Likes, had a Gimme a Hint button and a Solution tab that walked through four ways to write the query. Queries run on PostgreSQL 14, with MySQL listed as coming soon (checked 14 Oct 2026).
The DataLemur SQL tutorial listed 33 free lessons on 14 Oct 2026, from SELECT and WHERE through GROUP BY, joins, window functions, LEAD and LAG, and pivoting. It is aimed at people with no SQL yet, and it is a good place to start before the questions.
Is DataLemur Premium worth it?
DataLemur Premium is worth it when your interview covers statistics, probability or machine learning, because those questions are almost all locked. For a SQL-only data analyst interview, start free: 54 SQL questions with solutions and a 33-lesson tutorial is more than many people finish. Pay when you have done the free SQL set and want the other 46.
If you do pay, match the plan to your timeline. Four months of the monthly plan cost the same as one year, so the monthly plan only wins when you expect to finish in three months or less.
What kind of SQL question should you be ready for?
Data analyst interviews, on DataLemur and elsewhere, lean on joins, grouping and window functions over small business tables. Here is an original question of that kind: list every customer with the number of orders they placed, including customers with no orders. The common wrong answer joins correctly and then counts the wrong thing:
WITH customers(customer_id, name) AS (
VALUES (1, 'Ava'), (2, 'Liam'), (3, 'Noah')
),
orders(order_id, customer_id) AS (
VALUES (101, 1), (102, 1), (103, 3)
)
SELECT c.name, COUNT(*) AS orders
FROM customers c
LEFT JOIN orders o ON o.customer_id = c.customer_id
GROUP BY c.name
ORDER BY c.name;
WITH customers(customer_id, name) AS (
VALUES (1, 'Ava'), (2, 'Liam'), (3, 'Noah')
),
orders(order_id, customer_id) AS (
VALUES (101, 1), (102, 1), (103, 3)
)
SELECT c.name, COUNT(*) AS orders
FROM customers c
LEFT JOIN orders o ON o.customer_id = c.customer_id
GROUP BY c.name
ORDER BY c.name;Output
| name | orders |
|---|---|
| Ava | 2 |
| Liam | 1 |
| Noah | 1 |
Liam never ordered, yet the query says he placed one order. LEFT JOIN keeps Liam as one row with NULL in every orders column, and COUNT(*) counts rows, so his empty row counts as one. Count a column from the right-hand table instead. COUNT(column) skips NULLs, so Liam gets 0:
Count a column from the joined table, COUNT(o.order_id), never COUNT(*), after a LEFT JOIN.
WITH customers(customer_id, name) AS (
VALUES (1, 'Ava'), (2, 'Liam'), (3, 'Noah')
),
orders(order_id, customer_id) AS (
VALUES (101, 1), (102, 1), (103, 3)
)
SELECT c.name, COUNT(o.order_id) AS orders
FROM customers c
LEFT JOIN orders o ON o.customer_id = c.customer_id
GROUP BY c.name
ORDER BY c.name;
WITH customers(customer_id, name) AS (
VALUES (1, 'Ava'), (2, 'Liam'), (3, 'Noah')
),
orders(order_id, customer_id) AS (
VALUES (101, 1), (102, 1), (103, 3)
)
SELECT c.name, COUNT(o.order_id) AS orders
FROM customers c
LEFT JOIN orders o ON o.customer_id = c.customer_id
GROUP BY c.name
ORDER BY c.name;Output
| name | orders |
|---|---|
| Ava | 2 |
| Liam | 0 |
| Noah | 1 |
Graders compare your whole result, so the wrong answer fails even though two of its three rows are right. The PostgreSQL manual on aggregate functions states that count(expression) counts only non-null values, and the PostgreSQL manual on joined tables explains how a left join fills the missing side with NULLs. Selecting a column you did not group by brings a different error, covered in column must appear in the GROUP BY clause.
Where else can you practice SQL interview questions for free?
Prepshotz is free during its beta, with no credit card. Its SQL is graded by running your query against a real database, with hints and feedback built around your output. Its catalog is smaller than DataLemur’s, and each account can build 5 goal-built tracks during the beta. The SQL interview practice guide has a study plan, and the comparison page sets DataLemur, LeetCode and Prepshotz side by side.
Related questions
Which site to use once you have finished DataLemur’s free SQL questions, and how DataLemur compares with StrataScratch, are separate questions with answers of their own. Each depends on the role you are interviewing for more than on price.