Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
SQL and PostgreSQL: The Complete Developer's Guide
Rating: 4.6 out of 5(12,924 ratings)
83,909 students

SQL and PostgreSQL: The Complete Developer's Guide

Become an expert with SQL and PostgreSQL! Store and fetch data, tune queries, and design efficient database structures!
Created byStephen Grider
Last updated 2/2026
English

What you'll learn

  • Master the fundamentals of relational databases
  • Acquire the skills necessary to obtain a database administrator (DBA) or database developer job
  • Design fast and efficient databases using the latest technologies
  • Practice your skills with many quizzes, projects, and built-in exercises
  • Learn and apply multiple database design patterns
  • Optimize queries for superb read and write efficiency
  • Understand how PostgreSQL stores information at the hardware level
  • Connect PostgreSQL to front-end apps using an API
  • Build common app features, such as a 'like' and 'mention' systems
  • Handle complex concurrency issues and race conditions
  • Advance your database designs using schema migrations
  • See how to use PostgreSQL to speed up automated tests

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

37 sections289 lectures22h 12m total length
  • Course Resources0:38
  • What is PostgreSQL All About?4:12

    Explore PostgreSQL basics and how databases store and retrieve data using SQL. Learn how to design schemas, leverage PostgreSQL features, and manage production concerns like backups and scaling.

  • Database Design5:11

    Design a Postgres database by creating a cities table with name, country, population, and area, then define what to store, its properties, and data types, like Tokyo, Delhi, and Shanghai.

  • Database Terminology
  • Creating Tables4:42

    Create a cities table with four columns (name varchar, country varchar, population int, area int) in Postgres, using the pgsql.com web client to run queries and view results.

  • Analyzing CREATE TABLE3:30

    Explore the create table statement, distinguishing keywords from identifiers, and define the cities table with columns name, country, population, and area using varchar(50) and integer types.

  • Inserting Data Into a Table4:49

    Learn how to insert data into the cities table using insert into with name, country, population, and area columns, including single quotes and inserting multiple rows in one statement.

  • Retrieving Data with Select2:07

    Pull all columns from the cities table with select star from cities, which returns all columns. Choose specific columns like name and country, or name and population, and reorder.

  • Create, Insert, and Select!
  • Calculated Columns4:37

    Compute population density for each city by dividing population by area in SQL, and rename the calculated column to a clear label like population density.

  • Calculating Phone Revenue0:58

    Work through a calculated columns exercise on the phones table, selecting each phone's name and its total revenue, calculated as price times unit sold and aliased as revenue.

  • Using Calculated Columns
  • Exercise Solution1:03

    Learn to retrieve each phone's name and compute revenue by multiplying price by unit sold, aliasing the column as revenue from the phones table.

  • String Operators and Functions6:17

    Explore string operators and functions in Postgres to join and transform text, using the pipe operator and concat, then apply upper, lower, and length for readable results.

Requirements

  • A Mac, PC, or Linux-based Computer

Description

Database structure design?  It's here.  Query tuning and optimization? You'll master it.  Complex queries? Yes indeed!

This is the only course online that will teach you how to design a database, store complex data, optimize your queries, everything that is needed for operating a production, scalable database!

Every app in the world, whether it is a mobile app built with Flutter, a web app constructed with React, or a plain HTML page, needs to store information in a database.  Although there are many different databases you can use, PostgreSQL has been a number-one pick for decades, offering scalable performance, rock-solid uptime, and flexible design systems.  This course will teach you everything you need to know about PostgreSQL to use it on your next big project!

Don't know anything about databases at all? No problem. We begin with an overview of SQL, the language used to interact with PostgreSQL. Through an incredible number of exercises, you'll get practical, hands on experience working with realistic datasets.  You will understand how to store, fetch, and update information with a series of powerful commands. 

After gaining experience with elementary operations, you will move on to understanding database design patterns, offering multiple ways to structure your database for efficient data modeling. You'll see many different scenarios with different types of data, and understand the pros and cons to several approaches.

This course is packed with practice exercises and quizzes. You'll get immediate practice on all of the different topics and features that you learn!  In addition, you'll understand exactly where to use each of these features in real and practical projects.

Besides getting practical hands-on experience, you'll also get a behind-the-scenes look at how PostgreSQL works internally. We'll dive into raw data files, investigating how PostgreSQL stores information on your hard drive bit by bit.  This knowledge is invaluable when it comes time to start tuning your queries for performance.  By having a natural instinct of how PostgreSQL works, you can plan on being able to get every last bit of performance out of your database.

Here is a partial list of some of the topics that are covered in this course:

  • Apply powerful SQL commands to store, update, and retrieve information

  • Build relationships between records using foreign keys between tables

  • Understand PostgreSQL's numerous data types, and when to use each

  • Assemble reports of business data by using aggregation pipelines

  • Work with millions of records to simulate real production queries

  • Exercise your query logic skills through the use of sets and sorting operators

  • Compose queries out of smaller reusable units using subqueries

  • Use different design patterns to efficiently model your data

  • See how to divide database objects into different schemas to maintain them more easily

  • Validate your data using simple 'check' rules

  • Construct perfect designs for common features such as 'like', 'follow', and 'tag' systems

  • Speed up your queries with indexes - you'll see exactly how they work behind the scenes!

  • Dive into some of the most complex queries around with recursive common table expressions

  • Deal with concurrency issues easily by applying transactions

I made this course to be the perfect resource for engineers just getting started with their first database.  Master the database itself, and see how to apply it with real designs.  Sign up today and master PostgreSQL!

Who this course is for:

  • Any developers looking to understand databases
  • Application engineers seeking to expand their backend skillset