Write SQL against a live database and get graded on the result. Take the five-question challenge to find your level, then train speed with Presto and depth with Adagio. The practice bank holds 234 questions across eight levels, from WHERE to window functions.
Five questions, two minutes each.
Every answer runs against a live database and is graded on the result, not on how your SQL looks. Any valid query that returns the right rows counts. You can run a query as often as you like before you submit. Reference answers and explanations appear at the end.
Grain:
Join risk:
How did it go? Your own rating is the only score that counts.
Starting the SQL engine…
Engine is SQLite in your browser. DATE_TRUNC('month', d) works here as in Postgres. For dates, use julianday() differences where Postgres would subtract dates.
Nothing logged yet. Your first rep appears here.