
Ask HN: What is the best way to learn SQL - ValG
I'm currently working at a YC start-up and have limited programming and SQL experience. I want to learn SQL much better than I know it now so I can make the custom queries necessary to get the information I need.  I have a basic understanding of SQL, but I don’t use it enough to really learn it. I want to have a structured method of learning it that will force me to get better at it. I (happily) work long days, so a book or online manual won’t work. It’s just too easy to “push it back” another hour to get something else done and by the time I’m done for the day I’m too tired to tackle the self-learning. I would prefer an online class (that I have to attend, no skipping) or am open to taking a physical class that is less than 7 hours a week (Weekends OK). We’re located in Berkeley, so if UC-Berkeley or a close by university/college has a class I’d be down. The company is very open to helping me pay if necessary, or take time during the day (~1-1.5 hours) for a class.  Any help or suggestions would be great.<p>The only real requirement is that the class is accessible either online or close enough to Berkeley to make sense, and that it does a good job at teaching SQL.<p>What do you suggest and/or have done that works.<p>Thanks,
======
bockris
There is this:

<http://sql.learncodethehardway.org/book/>

but I don't have any personal experience with it besides just browsing it when
it was first announced.

<http://use-the-index-luke.com/>

is a good resource once you know the basics.

Honestly, you just need to write a lot of SQL to get better at it.

~~~
ValG
Thanks for this bockris. I used LearnPythonTheHardWay and it was great. But
that was when I had more time on my hands and could actually sit down and do
it. Now (unfortunately) I need something actually force me to attend and
practice. I agree, just writing a lot is the best way to do it. I don't get
enough practice during my day, and want something that can help me do it more.
Basically trying to force myself to do it by having some sort of commitment
that is not arbitrary.

~~~
bockris
No one can make you eat your vegetables except you. ;-)

~~~
ValG
haha, my Mom did when I was young ;-). I know this is a less than optimal
method, I'm just trying to hack myself into budgeting time for this. It's more
justifiable in my brain if I'm committed to it by some outside force. Is that
being "weak"? Maybe, but it doesn't really matter to me, I saw that trying to
get myself to do it wasn't working, so I'm trying a different approach.

btw, nice blog. It's fun to see someone doing something with his hands rather
than strictly programming!

Best,

~~~
bockris
I haven't updated that blog in ages. I keep waiting for Posterous to shut off
the servers and that will force me to start over with something else at the
same URL.

------
orionblastar
Start out small with small SQL databases. Learn how the SELECT and UPDATE
commands work.

Try a tutorial: <http://beginner-sql-tutorial.com/sql.htm>

~~~
ValG
Thanks for this orionblastar. I will definitely check it out and do some of
these tutorials. Now if can find a way to set up accountability to make sure I
stay on course!

------
jwoodbridge
I like this one a lot: <http://philip.greenspun.com/sql/index.html>

