Learn SQL

SQL is one of the best benefit/cost skills to learn. It’s fairly easy to learn, and it immediately becomes useful for many jobs- including software engineering, accounting, law, or any other job that deals with data.

Learn SQL

I recommend the following links to learn SQL. To be completely honest, I haven’t tried all of them, but they look decent and they’re free.

SQL (and other relational databases) are basically working with the math concept of sets. It’s much easier to learn SQL if you’re somewhat familiar with sets. Unfortunately, I couldn’t find a good resource for learning set algebra, but if you just want a refresher, you can try the quizzes at hackerrank. If you don’t know anything about set algebra, don’t get hung up on it- you’ll learn a lot of it through the following links.

For actually learning SQL, if you enjoy learning from videos, I recommend Khan Academy. If you’d rather read to learn, I recommend SQLCourse. Both of these sites include exercises you can run without installing anything!

Once you want to practice SQL, head to hackerrank to solve some challenges or Franchise to play with it in your browser on sample datasets!

Work with SQL

SQLite

Eventually you will want to create and play with your own databases. I recommend starting with SQLite and DB Browser for SQLite. These tools are both easy to install and uninstall and each database you create is just a file so you can email it between computers or copy it before trying something risky with your database. In addition, SQLite might be the most used code in the world- every copy of Windows 10 uses SQLite in the operating system, Firefox uses it to store bookmarks, and every Android and iPhone has it. NASA is actually running SQLite in space. Learning SQLite can be super valuable.

MySQL (MariaDB)

Many web apps use MySQL (or its clone MariaDB). It’s a tad more complicated to set up than SQLite, but not too bad. I recommend installing MariaDB and MySQL Workbench.

Note that whichever SQL vendor (SQLite, MySQL, Postgres, or whoever else) you use will provide a somewhat different version of SQL, but for basic queries they’re pretty identical.