Skip to content

Learning SQL

The only effective way to learn the syntax of a language and to become familiar with it is to practise. I could spend a long time going through all the different variations of an SQL query in these notes. That would not only be a very tedious way of spending time, it would also fail to give you the experience you need to understand how the language works.

For these reasons, the notes will only go through those aspects of SQL which are likely to cause confusion. To get a hands-on learning experience, you should work through the tutorials at Each tutorial provides a series of SQL problems to solve. You should treat each problem as a challenge and use your basic knowledge of SQL to try to find the answer. SQLzoo gives you useful feedback when you make a mistake.

If you are logged into SQLzoo when you are completing the tutorials you will be able to save your work.

If you find a problem difficult, there are several things you can do. In order of preference, they are:

  • Check to see you have not missed any help information on the current page in SQLzoo.
  • Use a book! This archaic form of knowledge management is still alive and kicking, and you need to develop skills in using written reference material well. The recommended text is Connolly & Begg (see the Further reading link at the bottom).
  • Check that you are constructing your SQL correctly by referring to W3Schools

You should probably allot around an hour to complete each of the SQLzoo tutorials. Some will go more quickly than that, and some will take longer. Things should balance out on average.

Further reading

SQL Tutorial

SQL Tutorial