30% OFF - Use code HANDSON30 for 30% off any course or Dometrain Pro! Browse courses →
  • Courses
  • Learning Paths
  • Blogs
  • Authors
  • Leaderboard
  • Dometrain Pro
  • Shopping Basket

    Your basket is empty

  • Business Portal
  • 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 26 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

    Getting Started: Model Context Protocol (MCP)
    course

    Getting Started: Model Context Protocol (MCP)

    Learn how to get started with the Model Context Protocol (MCP) and integrate it into your applications.

    Learn more about Getting Started: Model Context Protocol (MCP)
    Hands-On: Learn TypeScript
    course

    Hands-On: Learn TypeScript

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

    Learn more about Hands-On: Learn TypeScript
    Hands-On: Learn JavaScript
    course

    Hands-On: Learn JavaScript

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

    Learn more about Hands-On: Learn JavaScript
    Hands-On: Data Structures & Algorithms in C#
    course

    Hands-On: Data Structures & Algorithms in C#

    Master data structures and algorithms through hands-on coding exercises in C#. Free to enroll for 7 days!

    Learn more about Hands-On: Data Structures & Algorithms in C#
    Blogsmith.ai
    feature

    Blogsmith.ai

    Turn your videos into blogs and newsletters with AI. Check out our new product at blogsmith.ai.

    Learn more about Blogsmith.ai
    Leaderboard
    feature

    Leaderboard

    See how you stack up against other learners. Track your progress, climb the ranks, and compete with the Dometrain community.

    Learn more about Leaderboard
    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#