Hands-On: Learn PostgreSQL

Learn PostgreSQL through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

About This Course

PostgreSQL is by far the most popular database according to the latest StackOverflow annual survey, and for good reason. It is free, open source, and extremely powerful, powering millions of websites and services. In fact, it is what we use here at Dometrain to achieve incredible database performance with amazing feature flexibility. This hands-on lab course will teach you PostgreSQL from scratch, all the way to some of its more advanced features, by having you complete exercises on our PostgreSQL web editor with explanations and AI-assisted learning.

Course Curriculum

17h 4m 27 sections
Your First SELECT
05:00
Selecting Specific Columns
05:00
Column Aliases with AS
05:00
Expressions in SELECT
05:00
DISTINCT Values
05:00
Comments in SQL
05:00
Basic WHERE Clause
05:00
Comparison Operators
05:00
AND Operator
05:00
OR Operator
05:00
NOT Operator
05:00
Combining AND, OR, NOT
05:00
BETWEEN Operator
05:00
IN Operator
05:00
LIKE Pattern Matching
05:00
ILIKE Case-Insensitive Matching
05:00
IS NULL and IS NOT NULL
05:00
ORDER BY Basics
05:00
Descending Order
05:00
Sorting by Multiple Columns
05:00
LIMIT Clause
05:00
OFFSET for Pagination
05:00
FETCH FIRST Syntax
05:00
NULLS FIRST and NULLS LAST
05:00
COUNT Function
05:00
COUNT DISTINCT
05:00
SUM Function
05:00
AVG Function
05:00
MIN and MAX Functions
05:00
Combining Aggregates
05:00
Basic GROUP BY
05:00
GROUP BY Multiple Columns
05:00
Aggregate with GROUP BY
05:00
HAVING Clause
05:00
WHERE vs HAVING
05:00
GROUP BY with Expressions
05:00
Understanding Table Relationships
06:00
INNER JOIN Basics
06:00
Table Aliases in JOINs
06:00
Joining on Multiple Conditions
06:00
Self JOINs
06:00
LEFT JOIN
06:00
RIGHT JOIN
06:00
FULL OUTER JOIN
06:00
CROSS JOIN
06:00
Joining Multiple Tables
06:00
NATURAL JOIN
06:00
USING Clause
06:00
UNION
05:00
UNION ALL
05:00
INTERSECT
06:00
EXCEPT
06:00
Basic INSERT
05:00
INSERT with Default Values
06:00
INSERT Multiple Rows
05:00
INSERT with SELECT
06:40
INSERT with RETURNING
06:00
ON CONFLICT (Upsert)
05:00
Basic UPDATE
05:00
UPDATE Multiple Columns
06:00
UPDATE with Expressions
06:00
UPDATE with Subquery
06:00
UPDATE with FROM
06:00
UPDATE with RETURNING
06:00
Basic DELETE
05:00
DELETE with Subquery
06:00
DELETE with USING
06:00
DELETE with RETURNING
06:00
TRUNCATE
05:00
UPPER and LOWER
05:00
LENGTH and CHAR_LENGTH
06:00
TRIM, LTRIM, RTRIM
06:00
SUBSTRING
05:00
CONCAT and ||
05:00
REPLACE
05:00
SPLIT_PART
05:00
POSITION and STRPOS
06:00
Regular Expressions
06:00
ROUND and TRUNC
06:00
CEIL and FLOOR
06:00
ABS and SIGN
06:00
POWER and SQRT
06:00
MOD and Integer Division
06:00
RANDOM
05:00
CURRENT_DATE and CURRENT_TIMESTAMP
05:00
Date Formatting with TO_CHAR
06:00
EXTRACT Function
06:00
DATE_PART Function
06:00
Date Arithmetic
06:00
DATE_TRUNC
06:00
AGE Function
06:00
Working with Time Zones
06:00
CASE Expressions
06:00
CASE in Aggregations
06:00
COALESCE Function
06:00
NULLIF Function
06:00
GREATEST and LEAST
06:00
Subquery in WHERE
06:00
IN with Subquery
06:00
EXISTS Operator
06:00
NOT EXISTS
06:00
Subquery in SELECT
06:00
Subquery in FROM (Derived Tables)
06:00
Correlated Subqueries
06:00
ANY and ALL Operators
06:00
Basic CTE with WITH
06:00
Multiple CTEs
06:00
CTE Referencing CTE
06:40
Recursive CTEs
06:00
Recursive CTE for Series
06:40
CTE with DML (Data Modifying CTEs)
10:00
Integer Types
05:00
Numeric and Decimal
05:00
Text Types
05:00
Boolean Type
05:00
Date and Time Types
05:00
UUID Type
05:00
JSON and JSONB
06:40
Array Types
06:40
ENUM Types
06:40
CREATE TABLE Basics
05:00
PRIMARY KEY Constraint
05:00
SERIAL and IDENTITY
05:00
NOT NULL Constraint
05:00
UNIQUE Constraint
05:00
CHECK Constraint
06:00
DEFAULT Values
06:00
FOREIGN KEY Constraint
06:00
ALTER TABLE Add Column
06:00
ALTER TABLE Modify Column
06:00
ALTER TABLE Drop Column
06:00
Renaming Tables and Columns
06:00
DROP TABLE
06:00
TRUNCATE vs DELETE
06:00
Understanding Indexes
06:40
CREATE INDEX
05:00
Unique Indexes
06:00
Composite Indexes
06:00
Partial Indexes
06:00
Expression Indexes
06:40
Index Types (B-tree, Hash, GIN, GiST)
06:40
DROP INDEX
06:00
EXPLAIN Basics
06:00
EXPLAIN ANALYZE
06:00
Understanding Scan Types
06:40
Join Algorithms
06:40
ROW_NUMBER
05:00
RANK and DENSE_RANK
08:20
OVER with ORDER BY
06:40
PARTITION BY
06:40
LAG and LEAD
06:40
FIRST_VALUE and LAST_VALUE
08:20
NTH_VALUE
06:00
Aggregate Window Functions
07:00
Window Frame Clauses
06:40
Creating Views
06:40
Using Views
07:00
Modifying Views
07:30
Dropping Views
07:00
Materialized Views
07:00
Refreshing Materialized Views
06:40
Understanding Transactions
08:20
BEGIN, COMMIT, ROLLBACK
10:00
SAVEPOINT
07:00
Transaction Isolation Levels
07:30
JSONB Operators
10:00
JSONB Indexing
08:20
Array Functions
10:00
Lateral Joins
08:20
GENERATE_SERIES
08:20
String Aggregation
08:20
Full-Text Search Basics
10:00

Meet Your Instructor

Nick Chapsas

Nick Chapsas

Nick Chapsas is a .NET & C# content creator, educator and a Microsoft MVP for Developer Technologies with years of experience in Software Engineering and Engineering Management.

He has worked for some of the biggest companies in the world, building systems that served millions of users and tens of thousands of requests per second.

Nick creates free content on YouTube and is the host of the Keep Coding Podcast.

View all courses by Nick Chapsas

What's New

Hands-On: Learn PostgreSQL
course

Hands-On: Learn PostgreSQL

Learn PostgreSQL through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

Learn more about Hands-On: Learn PostgreSQL
Free Hands-On: C# for Beginners
course

Free Hands-On: C# for Beginners

Learn C# through hands-on coding exercises. Practice what you learn with interactive challenges designed for everyone, from beginners to experts.

Learn more about Free Hands-On: C# for Beginners
Getting Started: AI for .NET Developers
course

Getting Started: AI for .NET Developers

Get started with integrating AI into your .NET applications effectively using the latest LLM best practices.

Learn more about Getting Started: AI for .NET Developers
Getting Started: Building .NET Applications on AWS
course

Getting Started: Building .NET Applications on AWS

Learn how to build and deploy .NET applications on AWS using CDK, Lambda, DynamoDB, S3, and more.

Learn more about Getting Started: Building .NET Applications on AWS
What's new in C# 14
blog

What's new in C# 14

This guide covers every new C# 14 feature, explains its benefits, and provides practical code examples to help you navigate how you can use them.

Learn more about What's new in C# 14
Let's Build It: AI Chatbot with RAG in .NET Using Your Data
course

Let's Build It: AI Chatbot with RAG in .NET Using Your Data

Build a Retrieval-Augmented Generation (RAG) chatbot that can answer questions using your data.

Learn more about Let's Build It: AI Chatbot with RAG in .NET Using Your Data
From Zero to Hero: SignalR in .NET
course

From Zero to Hero: SignalR in .NET

Enable enterprise-grade real-time communication for your web apps with SignalR.

Learn more about From Zero to Hero: SignalR in .NET
Deep Dive: Solution Architecture
course

Deep Dive: Solution Architecture

Master solution architecture and turn business needs into scalable, maintainable systems.

Learn more about Deep Dive: Solution Architecture
Migrating: ASP.NET Web APIs to ASP.NET Core
course

Migrating: ASP.NET Web APIs to ASP.NET Core

A step-by-step process to migrate ASP.NET Web APIs from .NET Framework to ASP.NET Core.

Learn more about Migrating: ASP.NET Web APIs to ASP.NET Core
Getting Started: Caching in .NET
course

Getting Started: Caching in .NET

Let's make the hardest thing in programming easy for .NET software engineers.

Learn more about Getting Started: Caching in .NET
From Zero to Hero: Testing with xUnit in C#
course

From Zero to Hero: Testing with xUnit in C#

Learn how to test any codebase in .NET with the latest version of xUnit, the industry-standard testing library.

Learn more about From Zero to Hero: Testing with xUnit in C#
Create a ChatGPT Console AI Chatbot in C#
blog

Create a ChatGPT Console AI Chatbot in C#

This walkthrough is your hands-on entry point to create a basic C# console application that talks to ChatGPT using the OpenAI API.

Learn more about Create a ChatGPT Console AI Chatbot in C#