Introduction to why you should learn SQL

This post covers what SQL is, what jobs you can get, how to install it and where to learn it. SQL all the things.

By Connor Leech - Jun 25, 2019

Sequel Pro is one place you can write SQL

What is SQL?

SQL (pronounced S-Q-L or sequel) is a programming language for creating, reading, updating and deleting records from structured databases. Common databases that respond to SQL queries include MySQL, PostgreSQL, Oracle, SQL Server, MariaDB, SQLite and AWS Relational Database Service (RDS). You can even use SQL to query data from Microsoft Excel, Google Sheets or Airtable!

These storage systems are known as Relational Database Management Systems (RDBMS) because they store data in table like structures. If the database has rows and columns there’s a good chance you can use the SQL query language to create, read, update and delete (CRUD) records from it. In addition to CRUD, SQL can perform calculations and gather information from multiple tables.

## What are the alternatives to SQL?

Instead of writing raw SQL queries it’s common practice for developers to rely on Object Relational Mapping (ORM) for their programming language of choice. Ruby On Rails has Active Record, Laravel has Eloquent and Node.js has Sequelize. These systems are convenience wrappers enabling developers to write Ruby, PHP, Javascript etc instead of raw SQL queries. Under the hood though all of these systems create SQL queries that fetch the data.

SQL has been around since the 1970s. Over the past ten years there’s been rapid development of new database systems that rely on unstructured data. The catchall term for these new database systems in “NoSQL”. Many of these systems were developed to solve challenges posed by The Cloud and Big Data. Both SQL and NoSQL databases have improved a ton in the past decade and both are adept at solving big data and distributed system challenges. Nevertheless, some NoSQL systems it’d be good to be aware of are GraphQL, DynamoDB by AWS, MongoDB and a queuing system like Redis.

## How do I install SQL?

SQL is a programing language used to communicate with relational databases. The best way to install SQL is to install a database like MySQL or PostgreSQL. I’ve written a tutorial about how to install MySQL on Mac OSX here. You can write SQL queries in your browser using a system like AWS Cloud9 or the W3Schools SQL editor.

## What tech jobs use SQL?
As of this writing there are 893 active jobs on Employbl that contain the word “SQL” at least once in the job description. Employbl pulls in job listings for about 200 companies. That’s an average of four and a half SQL or SQL-related jobs per company!

See the search query I used to find these SQL and SQL-related jobs here.

There are many different types of jobs that use SQL. Anyone that needs to know information from the database can use SQL at their job. SQL is a powerful programming language that people use at startups and tech companies to pull reports, modify dashboards and CRUD data.

Here are a few ways SQL is used across departments:

  • Software Engineers use SQL when building features and debugging.

  • Digital Marketers use SQL to find segmentation information about customers, visitors and prospects. For instance you can use SQL to filter through visitor reports from Google Analytics or Mixpanel.

  • Customer Support and Customer Success team members use SQL to learn more about customer accounts and troubleshoot issues. For instance, pull custom reports from customers, find missing records or investigate why something is broken for a customer.

  • Product Managers use SQL to get more information about the current customer base and see who is using which features. PMs could query the database to find information about feature adoption or how many customers use a supported integration.

  • Finance professionals use SQL to turn large datasets into meaningful financial insights. I don’t really know finance… But I know it involves numbers and spreadsheets so SQL can help!

## SQL Job Titles

Below are common job titles that use SQL. I’ve included links to search results that include all the jobs I can find that have that given title. Please note that as of the time of this writing these are primarily Bay Area based or remote jobs.

In a cruel twist of irony I haven’t enough legit SQL queries on the job listings page. The search and filtering aren’t great. If I had more complex SQL here they’d be awesome

I found all these job titles when searching or SQL on the site I built Employbl. That means that for all the job desciptions they mention SQL somewhere. Community Manager, Account Executive, Implementation Specialist? All require SQL or it’s a nice to have for the job.

## How do I learn SQL?

The best way to learn SQL is to need to find information from a database. If you’re currently working ask for read access to the database at work. With the proper read-only read only permissions you won’t be able to get into too much trouble at any company. If you’re not working or not in a field with a SQL database you can request access to here are some resources I recommend:

  • Khan Academy SQL course. I’ve gone through this myself. Here’s all the SQL code I wrote for it (with comments) on GitHub.

  • Ultimate MySQL bootcamp on Udemy. I’ve been working my way through this one. (You can see my progress on GitHub.) I found it to be a bit slow because the instructor does cover everything and starts assuming zero programming knowledge. That said, it’s comprehensive and there are many exercises to sharpen your skills. You don’t even need to watch all the videos!

  • Mastery with SQL. This course I have not bought or started yet but it looks legit.