How to Learn SQL for the First Time

If you’re even interested in learning SQL, this post might have some insight that could save you a lot of time searching around the internet.


SQL is a language you can use to communicate with databases. It allows you to pull various information from databases. With a little bit of proficiency, you can do a lot more than just pull rows. You can perform statistical analysis directly through the query itself.

Prior to me delving into an extended search for the best SQL tutorial out there online, I did have a little prior knowledge of the basic concepts of SQL syntax. I could do very basic things, but I did want to extend my knowledge further.

My first thought was to go to a site called CodeAcademy, which advertises itself as a fantastic resource for web development. While I was a fan of its JQuery, HTML and Javascript sections, the SQL sections were lacking in the ability to actually teach the language. All the excercises had solutions that were provided at the very start. You could basically copy/paste your way through to success.

I next tried out Khan Academy’s SQL sections. I found those to be pretty good. They were in the form of a live demo with an excercise after. Additionally, Khan Academy has a programming grader algorithm that “watches over you” as you type. So, if you were to make small mistakes, it would try and figure out what was wrong and help get you back on track. The only problem I had with Khan Academy’s SQL section was the lack of complexity of the queries. It gave you a great outline on the queries, but really didn’t get you to work on more complex queries.

I did a lot of searching online before I came across a piece of software called GalaXQL. The software is a standalone software requiring no installation. Upon running for the first time, it creates a database with three tables. One table contains star data. Another contains planet data. A third creates moon data. You then navigate through the tutorials as it explains to you what each query does before finally asking you to create a query that produces a certain output. I particularly enjoyed GalaXQL a lot. It showed you how certain queries worked and then challenged you to come up with some yourself. Additionally, there wasn’t a grader of any sorts in the software. You were told if you got the right answer or not.

Lastly, I went to a site called SQLZoo and worked through its tutorials. The tutorials were fairly simple, but at the end of each tutorial, there was a section with challenge problems. While I blasted through the main tutorial section, these challenge problems were tough. SQLZoo does provide you with the expected output, which is somewhat useful when you’re trying to figure out what output fields they are expected. But its value comes from the difficulty of the questions.

Having gone through all of this, I’d recommend starting off with Khan Academy’s SQL section, followed by GalaXQL, before finishing off with SQLZoo. There will definitely be some overlap, which in a way is good, as it will reinforce some very important concepts. If you are familiar with general SQL syntax, you could theoretically skip Khan Academy’s SQL section, but I would still advise against it. The explanations there are great, and the live demonstration of what’s going on as queries are typed is very useful in visualizing how to formulate queries. You can skip CodeAcademy entirely, because you probably won’t end up learning anything by doing the tutorials.

Do you have any other resources for learning SQL? How do they compare with the ones I have mentioned? Let me know in the comments!

This entry was posted in Yay. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.