SQL Roadmap
A step-by-step SQL roadmap: what to learn in order, the related skills and the best places to learn each step.
The stack, end to end
- Database: SQL, SELECT and WHERE, JOINs, GROUP BY and aggregates, INSERT, UPDATE, DELETE, Subqueries and CTEs, Window functions, Indexes, Query optimisation, Transactions, Stored procedures, Database design, Normalisation, Primary and foreign keys, ER diagrams, PostgreSQL, MySQL, Backups and restore, Users and permissions
- Data: pandas, NumPy, Data cleaning, Jupyter notebooks, Data visualisation, Power BI, Tableau, DAX basics, Dashboard design, Data storytelling
SQL basics
SQL is how you ask a relational database questions. Learn SELECT, WHERE, ORDER BY, GROUP BY, aggregate functions, joins and how to create, insert, update and delete data.
Skills
- SQL
- SELECT and WHERE
- JOINs
- GROUP BY and aggregates
- INSERT, UPDATE, DELETE
Tips
- Practise on real-looking data. Write the query by hand before using any tool that writes it for you.
Where to learn
- SQLBolt (practice, free)
- SQLZoo (practice, free)
- Mode: SQL tutorial (course, free)
Advanced SQL and performance
Go beyond the basics: subqueries, common table expressions, window functions, indexes, reading execution plans, transactions and stored procedures. This is what separates a SQL developer from a beginner.
Skills
- Subqueries and CTEs
- Window functions
- Indexes
- Query optimisation
- Transactions
- Stored procedures
Tips
- Learn to read an execution plan. It shows you why a query is slow.
Where to learn
- PostgreSQL tutorial (docs, free)
- Mode: Advanced SQL (course, free)
- Use The Index, Luke (book, free)
Database design
Good design prevents messy data. Learn tables, primary and foreign keys, relationships, normalisation, constraints and how to draw an entity-relationship diagram.
Skills
- Database design
- Normalisation
- Primary and foreign keys
- ER diagrams
Tips
- Sketch the tables on paper before creating them.
Where to learn
- PostgreSQL: Data definition (docs, free)
- MySQL documentation (docs, free)
A relational database in depth (PostgreSQL or MySQL)
Pick one popular relational database and learn it well: installation, users and permissions, backups, data types, indexes and the tools that come with it. SQL Server and Oracle are common in larger companies, and the SQL skills transfer.
Skills
- PostgreSQL
- MySQL
- Backups and restore
- Users and permissions
Tips
- Practise a backup and a restore. You do not want to learn that during an emergency.
Where to learn
- PostgreSQL documentation (docs, free)
- MySQL reference manual (docs, free)
Python for data: pandas and NumPy
Load, clean, reshape and summarise data with pandas and NumPy, and draw charts with Matplotlib or similar. Notebooks let you show your working.
Skills
- pandas
- NumPy
- Data cleaning
- Jupyter notebooks
- Data visualisation
Tips
- Pick a public dataset you care about and publish a short write-up of what you found.
Where to learn
- pandas: Getting started (docs, free)
- Kaggle Learn (course, free)
- NumPy: Learn (docs, free)
Dashboards and BI tools
Turn data into dashboards people can use. Learn to choose the right chart, model data for reports, and build with Power BI or Tableau.
Skills
- Power BI
- Tableau
- DAX basics
- Dashboard design
- Data storytelling
Tips
- A dashboard should answer a question. Start from the decision it supports.
Where to learn
- Microsoft Learn: Power BI (course, free)
- Tableau training (course, free)
Frequently asked questions
Where should I start with SQL?
Start at step 1 and work down in order, because later steps build on earlier ones. If you are signed in, the roadmap compares your resume with each step and marks where you could start.
Is SQL worth learning?
Check how many job adverts in your area mention SQL, and whether it fits the kind of work you want. This roadmap shows what to learn; the Browse jobs page shows what employers are asking for.
How do I know I am ready to apply?
When you can build a small project from start to finish without copying a tutorial, and explain why you made your choices. Apply while you keep learning; you do not need to know everything.