SQL is the least glamorous and most reliably useful skill in the whole data and AI landscape. Models change every six months. SQL has been essentially stable for decades, it is how you get at the data that everything else depends on, and it is still the thing that separates people who can answer a question from people who have to ask someone else to answer it. This tutorial, built originally by Mode Analytics and now living on ThoughtSpot's site after the acquisition, remains the best free way to learn it.
The reason it works is the embedded editor. Every lesson has a query box with real data loaded, and you run queries as you read rather than after. The gap between reading about a join and writing one is where most SQL learning dies, and closing that gap to zero is the single most important design decision in any programming tutorial. No installation, no database setup, no sample data to download, no environment to configure.
You read a paragraph, you write a query, you see results. The datasets deserve specific praise. Instead of the usual employees and departments tables, you get things like Billboard chart history, Academy Awards data, crunchbase style startup funding data and San Francisco crime reports. This matters more than it sounds.
Curiosity is what keeps people writing queries, and a question you actually want answered pulls you through material that would otherwise be a slog. I have watched people go off script and start exploring these datasets on their own, which is exactly what should happen. The structure is sensible. Basic SQL covers select, where, ordering, comparison operators, logical operators, the fundamentals.
Intermediate covers aggregation, group by, having, joins in all their varieties, unions, case statements and date handling. Advanced covers subqueries, window functions, performance considerations, pivoting and string manipulation. A separate analytics training module covers the thinking side, framing a question, exploring a dataset, building a report. The advanced module is where this pulls ahead of the competition.
Window functions are where SQL becomes genuinely powerful and they are where most free tutorials stop, because they are harder to teach. Running totals, rank, lag and lead, partitioned aggregates, all of it is covered with worked examples, and being comfortable with window functions is a real professional differentiator. The performance section is basic and its existence at all in a free beginner tutorial is unusual and welcome. The analytics module is the part people skip and should not.
Syntax is the easy half of SQL. Knowing what to ask, how to sanity check a result, how to notice that your join has duplicated rows and inflated your total, how to structure an exploration so you do not fool yourself, that is the professional skill. This module addresses it directly, and it is the difference between someone who can write queries and someone who can be trusted with an answer. Now the honest problems.
The acquisition has not been kind to the presentation. Mode built this as a marketing asset for a product that has since been folded into a larger company, and the tutorial now sits on ThoughtSpot's site looking somewhat orphaned. Some pages have layout issues, the surrounding site context does not quite fit, and it has the feel of something maintained rather than loved. The content works, which is what matters, and I would not count on that indefinitely.
Anyone thinking of using it should do so now rather than bookmarking it for next year. The dialect issue is real. The examples were written against Redshift, which is Postgres derived, and most of what you learn transfers directly to Postgres, MySQL, SQL Server, BigQuery and Snowflake. Some of it does not, particularly around date functions and string handling, which is exactly where dialects diverge most and where the tutorial flags differences least consistently.
Learn here, then check the documentation for whatever database you actually use before you assume a function exists. There are no checked exercises. You can write queries, you can see results, and nothing tells you your query is wrong when it returns plausible looking output for the wrong reason. That is the most common failure mode in SQL, a query that runs, returns rows, and is subtly incorrect, and a tutorial with graded exercises would catch it.
Discipline substitutes here. Write the query before reading the answer, every time, or you will finish with the illusion of competence. It also teaches nothing about databases underneath the queries. Schema design, normalisation, indexing, transactions, why a query is slow and what to do about it beyond the surface tips.
That is out of scope for an analyst focused tutorial and it is the next thing you will need, and nothing here tells you that. My four point three is for a genuinely excellent free resource with the right teaching design, well chosen data and coverage that goes further than it needed to, marked down for a dialect ambiguity that will bite people, the absence of checked exercises, and a maintenance situation that makes its long term future uncertain. Work through it properly and it will do more for your employability than most paid courses on this site.