Learning databases and SQL

September 10, 2015

A friend of mine has some problems with the Introduction to Databases subject at his university. Quoting Doru Ilași, another friend who is a DBA, “what fucking app does not use a database these days”, I wholeheartedly recommend you to learn what databases are, how they work and what are the models behind them, and leave alone the “Learn SQL in 3 days” approach.

My first recommendation is the Introduction to Databases MOOC from Stanford, taught by Jennifer Widom. It’s the only one I’ve seen where you learn about relational algebra. There is even a self-paced version where you can study only the chapters you are interested. I’ve finished the original course back in 2011 and that was the moment when I started to understand them more thoroughly.

coursera db

If you don’t have enough time to dive into a large MOOC, Khan Academy has released a course on SQL this year. I don’t know the quality, but people seem to praise it on this Hacker News thread.

khan academy

For those who just need some simple SQL syntax exercises, I recommend sqlteaching.com and sqlbolt.com. They make you do a range of tasks that start easily and then later become harder, while writing the commands in your browser.

Finally, if you start preparing for interviews, LeetCode and HackerRank have a small set of problems, but with some of them being really challenging.

Update: I’ve remembered that TalentBuddy has a cool crash course on MongoDB and Redis, the first one being a NoSQL database and the second one being a key-value database.