SQL Roadmap

There’s a lot to learn with SQL. Once you understand the basics, you’ll feel comfortable running queries on tables.

But what else is there to know? What other things do you need to know about, and which topics are more advanced?

I’ve broken down the many different topics of SQL and databases in this SQL Roadmap.

This is based on my own opinion and some research I’ve done.

I’ve broken it up into three sections: Beginner, Intermediate, and Advanced.

They don’t align to certifications, or particular job roles. They are just the different skills that would apply to someone who I would consider a beginner, intermediate, or advanced.

I’ve written posts on many of these topics, which I have linked to below if you want to know more. I plan on writing more posts on these topics and will add them as they are written. So, if something looks interesting to you here, but there’s no post yet – it’s coming soon!

Let’s look at the roadmap.







  • Generate and read an execution plan, and understand how different parts of a query affect it:
  • Tune queries with execution hints without messing up performance
  • Profile and use traces for identifying and understanding statistics of executions
  • Know what the data structures are on the disk
  • Use performance counters and understand what the database load and behaviour is from monitoring them
  • Know how to design an OLAP cube and do advanced data mining with it
  • How to use triggers safely with minimal risk
  • How to use distributed transactions even with layers
  • How to follow the normalisation process to the remaining normal forms
  • Best practices for database design in many different situations, common database field guidelines
  • Know how and when to denormalise a database
  • How to set up distributed transactions across a database and integrated systems
  • Setup a database for high availability, data recovery, etc
  • Deep understanding of internal Oracle DB workings
  • Setup a data warehouse and create ETL processes to populate the data
  • PL/SQL understanding of the fundamentals and advanced topics, such as loops, IF THEN ELSE structures, variable types, rowtypes, and so on.

I hope this gives you a clearer understanding of what’s involved in database development and SQL.

Have I missed anything on this list? Let me know in the comments below.