Why I Wrote Yet Another SQL Tutorial

A quick Google search reveals that there are already hundreds of SQL Tutorials freely available on the web, almost as many books, courses, and video tutorials as well.

As I wrote four years ago the interest in SQL education seems to be declining, and the trend has only continued.

Google Trend of “SQL Tutorial”

Image 2018-01-31 at 3.26.03 PM.png

On top of all this, I’m the Founder and CEO of a company (Chartio) building a product that lets people use a drag and drop interface that writes SQL for you (Visual SQL).

With all these considerations, some may be surprised that I recently spent a considerable amount of time creating yet another SQL tutorial.

I’m actually incredibly excited about it and I wanted to go over some of the reasons why I thought this was a valuable use of my time and why I think this SQL tutorial is different and better than anything yet created.

The Universality of SQL

There are a lot of tools and abstraction layers for working with data available today, but SQL still remains incredibly dominant as the main exploratory interface to data. It’s the language that all of these tools are built on top of, and none of them (yes, even our VisualSQL… yet) have yet quite captured all of the flexibility and power you get from just getting down to writing a query.

SQL isn’t really that hard to learn. It just takes some practice, interactivity and some curiosity. With a great tutorial, it should be much more approachable to many more people. Which brings me to... 

The Poor State of Existing Tutorials

Take a look at the top sql tutorials available on the web now. I felt that they all leave a significant amount to be desired. The common key issues that I set out to solve with my SQL tutorial were:

  1. Many require you to first learn to install, setup and create databases before getting started. That’s just overkill for what most people need to know. This tutorial is focusing on people who aren’t database administrators, but simply consumers of the data.
  2. Those that do start off with querying, don’t have good ways for you to try things for yourself. They’re just written tutorials and don’t hold out much of an expectation that you’ll actually be able to follow along.
  3. Those that do have some way to follow along, still require considerable setup like creating an account with some tool they’re often trying to sell you.
  4. Almost all of them are very sparsely written and don’t have a theme or story line running through. They could all basically be much more friendly/readable/fun. When I was young I learned HTML like many others through Joe Burns, Ph.D and his incredible HTMLGoodies tutorials. I loved how approachable the language and examples made learning something that most of the readers would have otherwise found quite intimidating. I pursued his approach in writing this tutorial and as tribute I even started with his signature “So you want to learn SQL huh?” tutorial kickoff.

Learning SQL Must be Interactive - the SQL Box

I’ve always wanted a SQL tutorial to just have a great interactive query editor and executor built right into the text. With that goal I created what I call SQLBox, which does just that.

Readers are prompted throughout the tutorial with examples and challenges that they can execute against a real PostgreSQL database that’s already been setup for them.

sql-tutorial-sqlbox.gif

This makes following along incredibly easy and encourages play while learning, which I think is key to really understanding a subject.

Our Mission - JOIN people ON data

Chartio’s mission isn’t “Get people dependant on our product, and gather as much revenue as possible.” If it were, I’d have written this tutorial only teaching our VisualSQL.

Our mission is, however, to “JOIN people ON data”, ensuring that anyone (not just data teams, but people in Product, Marketing, Sales, Success, etc) can explore and understand their data. We see that mission holding two major focuses for us:

  1. Build an intuitive yet powerful data exploration product that anyone can use.
  2. Expand data literacy through prolific education.

This SQL tutorial is highly inline with that second component of our mission. I believe more people can and should learn SQL, and hope that with this tutorial I’ve reduced that barrier of entry for some people.

A New Breed of SQL User

Like any well organized company, driving toward solutions to our mission should ideally result in some increased revenue as well. This tutorial is no exception there. Our target market is business users and analysts who’re looking to get more informed by their data. Many of these people go out seeking to learn SQL (and unfortunately don’t find much help). If we can help them with that, they may also find our tool quite helpful as well.

We enjoy that that second strategy of our mission, expanding data literacy through prolific education, also brings us more attention, great branding benefits, and more customers. This money is put back into more education and more product improvements, positively reinforcing our mission and increasing data literacy of the world!

We have a whole section of tutorial content at chartio.com/learn/tutorials

Future Plans

So far we’ve written the mid-level sections, and we’ll continue to expand in the following ways

  • Write the Advanced section
  • Collect and update based on feedback (please send yours!)
  • Write extensive Extras sections with many more how-to’s
  • Make versions of the tutorial specifically for MySQL, Redshift, BigQuery, MSSQL, etc.

If you haven’t yet learned SQL, know someone who’s learning, or want to brush up in our practice areas, check out the new SQL Tutorial. We’d love any help in sharing it out and are always eager for any suggestions/requests/feedback. If you have any questions take a look at our Extensive FAQ.

This article was originally published on Medium.