Back to articles list Articles Cookbook
Updated: 4th Oct 2024 11 minutes read

How to Learn SQL: 6 Ideas for Newbies

Learning a new skill can be a daunting task, especially in programming. SQL is not immune to this. Luckily, with the Internet and the explosion of programming-related information out there, there are a lot of options you can use to learn SQL online, offering the convenience and flexibility to learn at your own pace and in your own environment!

But we then come to a new roadblock. Where to begin? How will we know which option is best for our budget, skill level, and schedule? This article tackles these questions and gives you a roadmap – or should we say a couple of them – of your journey, so scroll down to find out how to learn SQL!

A Brief History of SQL

Let’s start by reviewing some basics about the language. SQL, or Structured Query Language, is a powerful programming language designed for managing and manipulating data stored in relational databases. SQL was initially developed by IBM and Relational Software, Inc. (now Oracle) in the early 1970s. The language evolved and acquired greater commercial success in the 1980s. Finally, it became an ANSI standard in 1986 and an ISO standard in 1987. Since then, the SQL standard has evolved to include an increasing number of features.

It’s important to know that SQL is usually not portable across different database systems unless you adjust it; each environment has its own ‘dialect’ of SQL that may not be understood by others. So if you write something for DB2, don’t be surprised if it does not work in Oracle or Microsoft SQL Server. The ‘odd man out’ in this picture is PostgreSQL, which strives for compliance with the SQL standard.

How to Start Learning SQL

Now let’s dig into what’s available to help beginners with their SQL training. There are at least six ways a perspective learner can start or continue their SQL journey. We’ll compare paths using these metrics:

  • Price: From free to expensive (How much do I have to pay?)
  • Level: From novice to expert (What prior knowledge do I need?)
  • Setup: From simple to complex (What do I need to start learning? Can I start now?)

Interactive Online SQL Courses

If you're looking for a fast and effective way to learn SQL, interactive online courses like those offered by LearnSQL.com are an excellent choice. These courses provide a hassle-free learning experience, as there’s no need to install software. You can start practicing SQL immediately, making it perfect for businesspeople, students, and web developers who need a quick introduction to the language.

Unlike multi-language platforms such as Codecademy or Udemy, which often treat SQL as secondary, LearnSQL.com focuses solely on SQL. The platform offers courses tailored to all experience levels, helping learners master SQL step by step.

Don’t get me wrong, those platforms are cool, but when it comes to investing your own time and money, you can’t afford to waste either. SQL often feels like an afterthought on those sites, and they might not give you the depth you need to truly master the language.

With a structured and focused approach, LearnSQL.com is one of the best platforms for learning SQL. It offers comprehensive guides, exercises, and real-world scenarios that allow you to learn SQL efficiently and confidently.

To summarize this path’s metrics:

PRICE LOW
LEVEL HIGH
SETUP LOW

Comprehensive Online SQL Courses

Some people love to learn by doing and can’t wait to get their hands dirty; others begin with a theoretical overview of their subject. There is nothing wrong with either approach. Similarly, there’s no one best way to learn SQL. In fact, it’s well known that there are different learning styles and theory-first is one of them.

If you like to geek out, comprehensive courses are for you. Fortunately, there are lots of online courses that suit a theory-first style. They range in price from free to, well, not so free.

Let’s look at some good places to start:
SQL from A to Z
Stanford Online : Databases
Udacity : Intro to Relational Databases
Safari : Learning Path: SQL and Relational Databases

Stanford offers a free course on various database topics. Overall, it’s a bit academic and includes related subjects, like database modeling. It gives some clues on how to learn SQL, but treats this language as part of a larger picture. There aren’t many exercises, and the course does not cover the complete SQL language. There is some interactivity, so you do not need to set up your own environment.

Udacity also offers a free course on relational databases. The estimated duration is four weeks, and it is mostly targeted at users of higher-level programming languages who need basic SQL. You need to setup your own database and environment.

Safari’s offering is not free, as the course itself is part of Safari’s online book platform. However, it’s detailed and goes through the complete relational theory, which is the basis for SQL training. The downside is that it isn’t interactive and you have to set up your own environment.

For a more complete and practical SQL learning experience, the SQL from A to Z track at LearnSQL.com is an excellent alternative. Unlike other courses, it provides a hands-on, interactive approach to mastering SQL, covering everything from the basics to advanced queries. With no need to set up your own environment and a well-structured progression, the SQL A to Z track ensures you gain practical skills through real-world examples and exercises, making it a better investment of your time and money.

To summarize this path’s metrics:

PRICE MEDIUM
LEVEL HIGH
SETUP LOW

Competitive Programming Sites

Competitive programming sites – a.k.a. hackathon sites – are a surprising place to brush up SQL knowledge. What is a competitive programming site? It’s a place where programmers or teams of programmers compete among themselves to solve a certain program problem the fastest (or solve the most problems, or be the most accurate, etc). Most of these sites have a “warm up” area to let coders do a bit of SQL training before they join the fray.

One of the most popular sites where you can dabble in SQL is HackerRank. HackerRank has a list of domains where you can practice solving problems in a myriad of programming languages. One of these domains is SQL. (They also have a general database domain.)

In these sites, you can interactively practice solving some real problems in SQL, but you will get no guidance on how to write code correctly. If you wonder how to learn SQL on your own without additional help, it may not be the best solution: you only get the problem and the opportunity to see if you solved it. You can even challenge your friends to solve the problem. While this competition-based training can be fun, it is more suited to seasoned SQL coders.

To summarize this path’s metrics:

PRICE LOW
LEVEL HIGHEST
SETUP LOW

Local SQL Classes

The traditional way of learning SQL and database-related subjects is in the classroom. This is the type of learning we did for years in school. It is your plain-vanilla “teacher in front of a class, showing and explaining” routine. Some people find it the best way to learn SQL as it has a more human touch. But others find it outdated and impractical. The downsides include finding a course in your area, enrolling, coming to class at a predefined time, and the fact that courses can be expensive.

I have no recommendations in this area, since it is very individual and depends on your location. There are a lot of downsides to this approach and I would not recommend it. If you like a more personal approach to teaching, a better alternative is hiring a tutor over Skype to guide you through the SQL language. There are also plenty of freelancing sites where tutors can be found.

To summarize this path’s metrics:

PRICE HIGH
LEVEL MEDIUM HIGHEST
SETUP MEDIUM

Learning SQL by Book

Somebody once told me no wise person exists who does not read books. As I get older, I see the truth in those words. Books about technical subjects, including SQL, can be a huge source of knowledge, so if you want to know how to learn SQL on your own, try this path. But as the subject is broad, there are many books to choose from. This in itself can be overwhelming. Let’s look at some examples of popular SQL books you can find online or in your local bookstore:

Joe Celko’s books are considered classics in the SQL programming world. They’ve stood the test of time quite nicely. The author served on ANSI and ISO SQL Standards Committees and contributed to various SQL standards. His topics appeal to a more professional audience looking for advanced SQL training, with books covering various facets like the representation of hierarchies.

O’Reilly has plenty of books covering SQL. I personally would recommend their SQL Cookbook, which are also geared for the advance end of the spectrum.

The Manga Guide to Databases is basically a comic about databases. It’s fun and simple but it won’t help you if you want to know how to learn SQL on your own because it doesn’t give pure SQL a lot of space. The series has a myriad of books on SQL that cover simple to complex topics.

Other than books, check out various tutorials and blogs related to SQL (like Vertabelo Blog | Data Modeling & Web Development). These are another good place to start, although they will take more of your time. It takes time to set up the environment, to start coding, and to practice. (This is the same as with the local class approach.)

You could always download an image of a system with a pre-installed database and use this to practice quizzes and examples. But this would be tedious and time-consuming. And if you don’t know what an image is, then you would have to invest even more of your time to figure it out. Interactive online courses do the setup for you.

Another setup alternative is a fiddle. Fiddles are basically virtual environments that you can use to test code. SQL Fiddle is available online, and it lets you practice SQL without setting up your own local environment. However, it supplies no guidance, and fiddles are notoriously unstable. I would recommend this option for quick tests only.

To summarize this path’s metrics:

PRICE LOW HIGH
LEVEL MEDIUM HIGHEST
SETUP HIGH

Hands-On Projects

Nothing beats working on something you dreamt up yourself. This way of learning is a combination of different styles. It’s also a great way to motivate yourself to get coding. But if you don’t know where or how to begin, it’s pretty difficult to start. I would use this method if I needed additional, advanced SQL training to deepen my knowledge on any programming subject (be it a language or a concept) rather than learning from scratch. The time spent in finding and going through various tutorials could be used more effectively in a well-structured online course. Don’t fall for the trap of thinking that this is wasted time, though. What you spend at the beginning of your SQL training will be repaid tenfold later on.

You will also have to invest a lot of time in setting up your environment. Here no fiddle can help. It’s your project, your baby, and your environment.

Here are some resources for you:

To summarize this path’s metrics:

PRICE LOW HIGH
LEVEL HIGH
SETUP HIGH

Making the Comparison

Let’s examine all of our choices side by side:

Interactive web PRICE LOW
Interactive web LEVEL LOW
Interactive web SETUP LOW
Online course PRICE MEDIUM
Online course LEVEL HIGH
Online course SETUP LOW
Competitive web PRICE LOW
Competitive web LEVEL HIGH
Competitive web SETUP LOW
Local class PRICE HIGH
Local class LEVEL MEDIUM
Local class SETUP MEDIUM
Books PRICE LOW
Books LEVEL MEDIUM
Books SETUP HIGH
Hands-On PRICE LOW
Hands-On LEVEL HIGH
Hands-On SETUP HIGH

Still Wonder How to Learn SQL?

How to learn SQL is a very individual issue. It depends on your current level of knowledge and what made you learn the language in the first place.

You know how to write queries and need more advanced SQL training without spending too much? Get some books.

You need to prep for a test? Go for a comprehensive online SQL course.

You’re a true beginner? Nothing beats a structured interactive online SQL course.

Whatever you choose, the main thing is to get going and give it a try. If one path doesn't work, try another. Don't give up, and you'll be rewarded by understanding how to use SQL. If one path doesn’t work, try another. Don’t give up, and you’ll be rewarded by understanding how to use SQL.