6 Best SQL Courses to Take in 2022 (Read this first)

Best for: Those who have some programming experience, want one place for a comprehensive SQL course series using Postgres, and are interested in storing/querying text data.

Overview: As a whole, the comprehensiveness and execution of this course series make it number one on this list for learning SQL and Postgres. There are plenty of quizzes and projects to help you learn, as well as a highly active forum of students and TAs to help with any questions you may have.


Coursera estimates that this course takes approximately four hours over four months to complete, or roughly 64 hours total.

Course 1. Database Design and Basic SQL in PostgreSQL

  • Overall intro to Databases, SQL, and Postgres
  • Modeling data
  • Creating, inserting, querying tables
  • Table relationships, such as one-to-many and many-to-many

Course 2. Intermediate PostgreSQL

  • More, useful SQL syntax
  • Aggregations
  • Working with text
  • Regular expressions

Course 3. JSON and Natural Language Processing in PostgreSQL

  • More of a full treatment for text in Postgres
  • Indexing and making text querying fast
  • Using Python with Postgres
  • Storing and querying JSON in Postgres

Course 4. Database Architecture, Scale, and NoSQL with Elasticsearch

  • Intro to the problem of scaling databases
  • How to use Elasticsearch with Postgres for querying text

As you can probably tell from the syllabus, text data is a big focus in these courses. While this Specialization is well-organized, informative, and very helpful for learning SQL, the last course gets some lackluster reviews. After going through that course’s material, it looks like a good intro to Elasticsearch, a widely used technology, but the content could be completed in as little as a week.

Pricing and Certification:

As a member of Coursera Plus ($39/month), you can enroll in this Specialization and receive a certificate from The University of Michigan, which ranks 36th in the QS Engineering & Technology Rankings.

Enroll in PostgreSQL for Everybody