Learning SQL (Again)

Published on

I use SQL for 16 years now. It is such a central tool, that it is useful to learn it again, fix patches in knowledge and habits and explore new ways of doing thing. I use this as an opportunity to experiment with a LLM in in human+machine curriculum and content creation. The resulting artifact will be a new deck in my Anki Decs.

Table of Contents

This is still a work in progress. The table of content defines the journey. I first want to bring together everything I want to learn. The content is generated by Gemini 2.5 Pro and driven by me. LLMs are databases and I query them.

Part 1: Core Operations & Database Fundamentals

This part covers the foundational elements of interacting with and building a PostgreSQL database, focusing on advanced patterns and performance implications relevant to a senior developer.

Part 2: Database Architecture and Design

This section focuses on the non-procedural aspects of database management: creating robust structures, ensuring performance through indexing, and using abstractions.

Part 3: Advanced Features and Performance Tuning

Here, we dive into specialized and powerful PostgreSQL features that are critical for modern application development and performance optimization.

Part 4: Data Analysis from Start to Finish

This part provides a project-based guide to common data analysis patterns, from initial cleaning to advanced modeling, all within PostgreSQL.

Part 5: Data Engineering and Extensibility

The final part covers topics for building robust data pipelines and extending PostgreSQL’s core functionality.

Part 7: Advanced Topics

This section covers critical topics for operating data-intensive applications at scale and explores next-generation analytical techniques available directly within PostgreSQL.

Part 6: Just Use Postgres

This part explores how to leverage PostgreSQL’s advanced, built-in features to reduce architectural complexity. Each chapter provides a practical guide to replacing a specialized, external system with a robust, transactionally-consistent solution inside the database you already have.