Short, applied courses with a verifiable certificate. Search for a topic, or narrow by category, level, duration and price.
Learn to run analytics without collapsing rows using PostgreSQL window functions. You will master OVER, PARTITION BY and ORDER BY, ranking with ROW_NUMBER/RANK/DENSE_RANK, row-to-row comparisons with LAG and LEAD, and running totals and moving averages with explicit frames.
Learn to encapsulate and reuse query logic in PostgreSQL using views, materialized views and functions. You will create and update views, cache expensive queries with materialized views and REFRESH, write parameterised SQL functions, and choose the right tool for each job so your database logic stays clean and reusable.
Learn to compose complex SQL queries clearly in PostgreSQL by nesting scalar, row and table subqueries, using IN/EXISTS/ANY/ALL, mastering correlated subqueries, and refactoring tangled logic into readable Common Table Expressions. You will finish able to break a hard reporting question into named, testable steps and even walk hierarchies with recursive CTEs.
Learn to diagnose and speed up slow PostgreSQL queries. You will understand how B-tree and other index types work, read EXPLAIN and EXPLAIN ANALYZE plans to find the real bottleneck, and design composite, partial and covering indexes while keeping tables healthy with VACUUM and ANALYZE.
Turn raw rows into the summaries a report needs — counts, totals, averages and per-category breakdowns — using PostgreSQL's aggregate functions, GROUP BY and HAVING. You will finish able to summarise data for reporting, filter groups correctly, count distinct values and produce subtotals with ROLLUP.