SQL-Engineering-Handbook

SQL Engineering Handbook — Resources Library

status: complete 13 files 13 diagrams 100+ resource cards mostly free license: MIT

Part of the SQL Engineering Handbook — the curated external learning collection that picks up where the Handbook's own modules leave off.

[!NOTE] All 13 files in this library are now in place. Root documentation and platform links were checked against current sources where it mattered most (official docs, vendor rebrands); well-established books, blogs, and communities relied on strong existing knowledge rather than an individual fetch per entry — see the note at the end of Summary for what that means in practice.


Table of Contents


What’s In This Library

Resource Library File Description Size Diagram  
📖 books.md Curated list of essential SQL & database architecture books 23.7 KB · 426 lines ladder  
✍️ blogs.md Official vendor blogs and real-world engineering postmortems 15.5 KB · 298 lines two tiers  
📑 documentation.md Primary dialect docs for Postgres, MySQL, Snowflake, BigQuery, etc. 14.7 KB · 260 lines hub & spoke  
🎥 youtube.md Curated playlists and video tutorials for all skill levels 11.9 KB · 270 lines playlist  
🎯 interview-resources.md Staged 30/60/90-day interview roadmaps & technical prep 12.2 KB · 204 lines funnel  
📰 newsletters.md Weekly digests, dbt updates, and Postgres Weekly 1.8 KB · 24 lines cadence  
🎓 courses.md Free and paid structured SQL learning paths 1.6 KB · 24 lines staircase  
📊 datasets.md Real-world public datasets for query practice 1.7 KB · 24 lines sources  
🛠️ playgrounds.md Browser-based SQL execution sandboxes and DB clients 1.4 KB · 23 lines zero-setup  
📜 certifications.md Industry-recognized database and cloud certifications 1.5 KB · 24 lines badge ladder  
🌐 communities.md Slack groups, Discord servers, Reddit, and developer forums 1.2 KB · 24 lines four rooms  
🧰 awesome-tools.md DB clients, ERD diagram tools, formatters, and query editors 1.8 KB · 26 lines toolbox  
README.md (this file) Library map, philosophy, and role-based roadmaps 21 KB+ banner

Sizes above are read directly off disk, not estimated — see Build Status. The six files from books.md through interview-resources.md use the full 13-field Resource Card Template; the seven from newsletters.md through awesome-tools.md use a lighter table format proportional to their original one-line specs (see Folder Structure for why).

Introduction

The 00–20 modules in this repository teach SQL by having you run real queries against real schemas and defend real business decisions. That’s the “how.” This folder is the “then what” — where to go once a module is finished and you want the official word on a feature, a book-length treatment of a topic a module README can’t fully cover, or a mock interview to prove you actually learned it.

Nothing here duplicates the Handbook’s own content. Think of it as what a senior engineer on your team would send you in a DM if you asked, “where did you actually learn this.”

Purpose of the Resources Library

The modules answer “how do I write this query.” This folder answers three questions a repo of exercises can’t fully answer on its own:

If a topic is already taught end-to-end in a module, this library points past it — toward primary sources, alternate explanations, and the parts of the job (interviews, performance tuning, warehouse design) that go beyond what any single repository can hold.

The Diagrams

Every one of the 12 resource files carries its own diagram (13 SVGs total including the banner above), rendered in assets/ and embedded directly beneath that file’s intro paragraph — no external image hosting, so they render correctly on GitHub, cloned locally, or on the handbook’s GitHub Pages site. Each one summarizes the shape of its file — not a random illustration, but the actual filtering logic or reading order behind the list.

books.md — thirteen shelves, one ladder blogs.md — two tiers of authority

documentation.md — one hub, four platform families interview-resources.md — a funnel, not a link dump

datasets.md — real data, not curated data certifications.md — a signal, not a substitute

The remaining diagrams (youtube.md, newsletters.md, courses.md, playgrounds.md, communities.md, awesome-tools.md) are embedded in their own files rather than repeated here. assets/DIAGRAM_SPECS.md is the complete, accurate ledger of what exists, what each diagram shows, and what was deliberately left out — kept honest against the actual asset folder, not aspirational.

How to Use These Resources

Learning Philosophy

This library is curated under the same rule the Handbook’s modules follow: a business question first, the syntax second. A resource that teaches RANK() by ranking an arbitrary list of numbers is worth less than one that teaches it by finding each region’s top-3 salespeople — even if the SQL on the page is identical.

Three things follow from that:

  1. Primary sources over paraphrase. Official documentation is preferred over a tutorial that repeats the documentation with extra ads around it.
  2. Depth over breadth, sequenced. The roadmaps below are ordered on purpose — advanced material assumes the intermediate material is comfortable, not just “read once.”
  3. Evergreen over trending. A resource earns its spot because the ideas hold up, not because it’s new. Where recency genuinely matters (a cloud platform’s current feature set, say), that’s called out explicitly on the card.
flowchart TD
    A[Modules 00-03: Fundamentals, Aggregations, Joins] --> B[Beginner Roadmap]
    B --> C[Modules 04-09: CASE WHEN to Date Functions]
    C --> D[Intermediate Roadmap]
    D --> E[Modules 10-16: Strings to Query Optimization]
    E --> F[Advanced Roadmap]
    F --> G{Pick a specialization}
    G --> H[Analytics Engineer Roadmap]
    G --> I[Data Engineer Roadmap]
    G --> J[Backend Developer Roadmap]
    H --> K[Interview Preparation Roadmap]
    I --> K
    J --> K

The path is linear through Beginner → Intermediate → Advanced, then branches by role. You don’t need all three specializations — pick the one that matches where you’re headed, and only detour into the others if a specific job description asks for it.

Who This Collection Is For

Reader What You’ll Get Here
Learners who’ve finished modules 00–03 and want to keep momentum A structured next step instead of a random search
Career switchers targeting a Data Analyst / Data Scientist role A path that lines up with what that interview loop actually tests
Analytics engineers Warehouse, dbt, and modeling depth past what one repo’s schema can show
Data engineers Distributed-SQL and platform documentation (Spark, BigQuery, Redshift)
Backend / software engineers who touch SQL occasionally Transactions, indexing, and schema-design material scoped to “enough to be dangerous safely”
Anyone with a SQL interview in the next 30–90 days A staged plan in interview-resources.md, not just a question bank
Contributors A documented Resource Card Template and Contribution Guidelines so additions stay consistent

Role-Based Roadmaps

Each roadmap assumes the previous one is solid — Intermediate assumes Beginner is comfortable, and so on. The three specializations assume Advanced is done; pick one rather than doing all three back to back.

Beginner Roadmap

Goal: read and write correct, simple SQL against a real schema.

Handbook Modules (this repo) Go Deeper in This Library Est. Time
00_SAMPLE_DATABASE, 01_FUNDAMENTALS, 02_AGGREGATIONS, 03_JOINS (inner/left) documentation.md → your chosen dialect’s official docs · books.mdEssential Beginner Books · youtube.mdSQL Fundamentals 3–4 weeks

Exit criteria: you can independently answer a business question with a SELECT, aggregate it, and join two tables without checking a syntax reference.

Intermediate Roadmap

Goal: comfortable with multi-table logic, conditional transforms, and reusable query building blocks.

Handbook Modules (this repo) Go Deeper in This Library Est. Time
03_JOINS (right/full/cross), 04_CASE_WHEN, 05_SUBQUERIES, 06_CTEs, 07_WINDOW_FUNCTIONS, 08_WINDOW_BUSINESS_CASES, 09_DATE_FUNCTIONS books.mdIntermediate Books · blogs.md → analytics-engineering posts · documentation.md → window function references 5–6 weeks

Exit criteria: you can write a CTE-based query using window functions to answer a layered business question, the way it’s actually done on a data team.

Advanced Roadmap

Goal: understand what the database is doing under the query, not just what the query returns.

Handbook Modules (this repo) Go Deeper in This Library Est. Time
10_STRING_FUNCTIONS through 16_QUERY_OPTIMIZATION (in progress — see ROADMAP.md) books.mdDatabase Internals, Query Optimization, Performance Tuning · documentation.mdEXPLAIN / EXPLAIN ANALYZE sections · blogs.md → engineering blogs’ performance postmortems 6–8 weeks

Exit criteria: you can read an execution plan, explain why a query is slow, and fix it with an index or a rewrite.

Analytics Engineer Roadmap

Goal: turn raw tables into trusted, tested, documented models.

Handbook Modules (this repo) Go Deeper in This Library Est. Time
06_CTEs, 08_WINDOW_BUSINESS_CASES, 12_ADVANCED_AGGREGATIONS, 18_SQL_BUSINESS_CASE_STUDIES, plus projects/nagpurlens and projects/olist blogs.md → dbt Blog, Snowflake Blog · documentation.md → dbt Documentation · books.mdAnalytics Engineering, Data Warehousing, Data Modeling 4–5 weeks on top of Intermediate

Exit criteria: you can design a star schema, write a dbt-style modeled query, and defend a metric definition in a review.

Data Engineer Roadmap

Goal: SQL that runs well at scale, across distributed engines, inside a pipeline.

Handbook Modules (this repo) Go Deeper in This Library Est. Time
13_SET_OPERATORS, 14_VIEWS, 15_INDEXES, 16_QUERY_OPTIMIZATION, 19_SQL_PROJECTS documentation.md → Apache Spark SQL, BigQuery, Redshift docs · books.mdDatabase Internals, Data Warehousing · blogs.md → Netflix / Uber / Airbnb engineering blogs 5–6 weeks on top of Intermediate

Exit criteria: you can reason about partitioning and distributed joins, and explain why the same query behaves differently on a 10-row table versus a 10-billion-row table.

Backend Developer Roadmap

Goal: use SQL safely inside an application — transactions, integrity, concurrency.

Handbook Modules (this repo) Go Deeper in This Library Est. Time
11_NULL_HANDLING_AND_DATA_CLEANING, 14_VIEWS, 15_INDEXES, schema-design practice in datasets/employee_management documentation.md → your dialect’s transactions/locking docs · books.mdDatabase Design, Reference Books · blogs.md → PostgreSQL/MySQL official blogs 4 weeks on top of Intermediate

Exit criteria: you can design a normalized schema, wrap a multi-step write in a transaction, and explain an isolation level out loud.

Interview Preparation Roadmap

Goal: perform, under time pressure, everything above.

Handbook Modules (this repo) Go Deeper in This Library Est. Time
17_SQL_INTERVIEW_QUESTIONS, exercises/interview, 20_SQL_CHEATSHEET interview-resources.md — full roadmap with 30/60/90-day plans 2–4 weeks, intensive

Exit criteria: you can solve a fresh SQL question on a shared screen, out loud, in under 15 minutes.

How Resources Were Selected

Selection followed a strict pecking order:

  1. Official documentation for the technology in question — PostgreSQL, MySQL, Snowflake, BigQuery, dbt, and so on — because it’s the only source guaranteed to stay correct as the product changes.
  2. Books from technical publishers (O’Reilly, No Starch Press, Manning, Apress, Pragmatic Bookshelf) or self-published authors with a verifiable engineering track record, over generic “Learn SQL in 30 Days” titles.
  3. Engineering blogs from companies that run these databases at the scale being discussed — a company’s own post on a real performance incident carries more weight than a marketing blog’s listicle.
  4. YouTube channels and creators with an actual teaching track record, not just view counts.
  5. Everything else is excluded, not just deprioritized. If a resource can’t clear the first four tiers, it doesn’t appear here, even if it’s popular.

Resource Card Template

Every entry in books.md, blogs.md, documentation.md, youtube.md, and interview-resources.md follows the same thirteen-field card, so you can compare resources at a glance instead of reading five different formats:

Field What It Tells You
Title The resource’s actual name
Author / Organization Who wrote or maintains it
Category Which shelf it belongs on (e.g. Query Optimization, Data Warehousing)
Difficulty Beginner / Intermediate / Advanced
Best For The one situation this resource is the right answer to
Why It Is Recommended The specific reason it beat the alternatives
Key Topics Covered What you’ll actually learn
Estimated Time Sized honestly — hours, days, or weeks
Official Website Verified, current link (if applicable)
Free or Paid No surprises
Prerequisites What to finish first
Who Should Read It The reader profile it’s built for
Related SQL Handbook Modules Which 0X_MODULE folders in this repo pair with it

Quality Standards

Every resource that makes it into this library has to survive this checklist. If the honest answer to any of these is “no,” it doesn’t get added, or it gets fixed first.

Build Status

Complete and diagram-reviewed. All 12 resource files plus this README are published, every file carries its own embedded diagram, and the sizes/line counts in What’s In This Library are read directly off disk rather than estimated. The asset ledger in assets/DIAGRAM_SPECS.md is kept in sync with the actual contents of assets/.

Module Checklist

Contribution Guidelines

This library accepts contributions the same way the rest of the Handbook does — see ../CONTRIBUTING.md for the full process. On top of that, a resource PR specifically needs:

[!TIP] Found a broken link in an already-merged file? That’s a faster PR than adding a new resource — fix the URL, or if the resource is genuinely gone, swap in the closest current equivalent and say so in the PR description.

Folder Structure

Resources/
│
├── README.md                          ✅  You are here — navigation, philosophy, roadmaps
├── books.md                           ✅  Books with full annotations, by category
├── blogs.md                           ✅  Official + engineering blogs worth following
├── documentation.md                   ✅  Official documentation index, per dialect/platform
├── youtube.md                         ✅  Curated channels and playlists
├── interview-resources.md             ✅  Interview roadmap + 30/60/90-day plans
├── newsletters.md                     ✅  Curated newsletters (dbt, Postgres Weekly, etc.)
├── courses.md                         ✅  Free and paid SQL courses
├── datasets.md                        ✅  Public datasets for practice
├── playgrounds.md                     ✅  Online SQL playgrounds and sandboxes
├── certifications.md                  ✅  Recognized SQL / database certifications
├── communities.md                     ✅  Discord, Slack, Reddit, forums, mailing lists
├── awesome-tools.md                   ✅  SQL editors, ERD tools, database clients, formatters
└── assets/                            ✅  13 SVGs — one per file above, plus the README banner
    ├── banner.svg
    ├── 01_books.svg
    ├── 02_blogs.svg
    ├── 03_documentation.svg
    ├── 04_youtube.svg
    ├── 05_interview_resources.svg
    ├── 06_newsletters.svg
    ├── 07_courses.svg
    ├── 08_datasets.svg
    ├── 09_playgrounds.svg
    ├── 10_certifications.svg
    ├── 11_communities.svg
    ├── 12_awesome_tools.svg
    └── DIAGRAM_SPECS.md               ✅  Accurate asset ledger — what exists and what it shows

Legend: ✅ Available — all 13 content files and all 13 diagram assets are built. The core six (books.mdinterview-resources.md) use the full Resource Card Template; the second wave (newsletters.mdawesome-tools.md) uses a lighter table format proportional to their original one-line specs.

[!IMPORTANT] The original folder listing had newsletters.md twice, with two slightly different descriptions (“curated newsletters” and “weekly learning resources”). Merged into a single entry above. If a second, distinct file was actually intended — e.g. a reading-newsletters list separate from a weekly-digest tracker — flag it and it’ll get split back out.

Summary

This file is the map, not the territory. The resource cards themselves live in the twelve files listed in Folder Structure above — six built to the full Resource Card Template, seven built to a lighter table format proportional to their original one-line specs. Every one of those twelve now also carries its own diagram, and the map itself (this README) carries the library’s banner.

Pair this library with the Handbook’s own 00_SAMPLE_DATABASE onward, and you’ve got both the practice reps and the depth to back them up. Changes to this library are tracked in ../CHANGELOG.md alongside the rest of the Handbook.

On verification, honestly: root domains for official documentation, and any resource whose current status was genuinely uncertain (e.g. Mode Analytics’ SQL tutorial migrating under the ThoughtSpot brand), were checked directly. The remaining few hundred entries — well-established published books, long-standing vendor and engineering blogs, well-known platforms and communities — were written from strong existing knowledge rather than an individual fetch per entry, since checking all of them individually wasn’t practical in one pass. That’s a reasonable bar for a first draft, not a substitute for the normal open-source cycle: if something’s stale or a detail’s off, it’s a fast PR — see Contribution Guidelines.


Questions, or a resource to suggest? Open an issue using the templates in .github/ISSUE_TEMPLATE, or check ../FAQ.md.