• I think the most important thing, is actually doing it.

    One of the biggest problems i've seen people face learning SQL is that they'll have the technical aspects nailed down pretty well, but they just don't quite "get it". Knowing how to select data is one thing, but being able to sit down and think about what data to pull out and how is another.

    Definately use the tutorials and any educational material that works for you - but use that as a starting point. Play around with it a little bit, come up with queries on your own to see what you can do. Try to think of real-life scenarios, and see if you can come up with solutions on your own. Then try to find alternative solutions to the same problem.

    Experience > Education a good majority of the time.