SQL: From Beginner to Intermediate
SQL is unusual in that a beginner can be productive within a day and then stall for years, because writing a SELECT is easy and thinking in sets is not. The intermediate leap happens when joins stop being memorised diagrams and become obvious, when GROUP BY behaviour is predictable rather than trial and error, and when window functions turn a page of application code into four lines of query.
Generate my free courseFree to start · no credit card · the outline below is an example, yours is generated around your goals
What this path covers
Sample curriculum
An example outline for going from beginner to intermediate in SQL. Your generated course adapts this to your experience, target level and available study time.
-
Thinking in Sets
Why SQL is declarative, the logical order in which a query is evaluated as opposed to the order you write it, and the mental shift away from row-by-row thinking.
-
Joins Without Guessing
Inner, left, right and full joins with the actual result sets shown, self joins, many-to-many relationships, and the accidental cross join that returns a million rows.
-
Aggregation and Grouping
GROUP BY, HAVING against WHERE, aggregate functions, NULL behaviour in aggregates, and the grouping errors databases report unhelpfully.
-
Subqueries and CTEs
Correlated and uncorrelated subqueries, rewriting nested queries as readable CTEs, and recursive CTEs for hierarchical data such as org charts.
-
Window Functions
OVER, PARTITION BY and ORDER BY, ranking with ROW_NUMBER and RANK, running totals, and LAG and LEAD for period-over-period comparisons.
-
Making Queries Fast
How indexes work, reading a query plan, which queries an index cannot help, and the schema normalisation basics that prevent slow queries from existing.
SQL beginner-to-intermediate questions
Which SQL dialect should I learn?
PostgreSQL is the best default — standards-compliant, widely used, and free. Roughly eighty percent of what you learn transfers directly to MySQL, SQL Server and BigQuery; the differences are mostly date functions and syntax details.
Do I need SQL if my ORM writes queries for me?
Yes, and usually urgently. ORMs generate inefficient queries under load, and diagnosing that requires reading the SQL and its query plan. Developers who cannot read SQL cannot debug their own data layer.
What separates beginner SQL from intermediate SQL?
Practically: joins across more than two tables without hesitation, correct GROUP BY on the first attempt, and reaching for a window function when a self-join would be awkward. Those three are the spine of this path.
Where to go next
Related reading
Ready to start SQL?
SQL is the one language that outlives every framework you will learn. Tell LearnForge where you are now and where you want to get to, and it builds the course around that.
Generate my free course