SQL โ Database Query Fundamentals
Status: Active Last Updated: 2026-08-29 Category: Databases & Storage Prerequisites: kb/basics/ โ Linux fundamentals, command-line basics Tags: sql, sqlite, postgres, mysql, database, queries, joins, indexes
Summary
SQL fundamentals for anyone who will touch a database โ from writing basic queries to understanding indexing, joins, and schema design. This stack uses SQLite in development (via Prisma) and PostgreSQL in production. Both are covered.
๐ฏ Learning Philosophy
SQL is Universal:
Every backend stores data
Every data layer queries with SQL (or an abstraction over it)
Learn SQL once โ use it in SQLite, Postgres, MySQL, beyond
๐ Learning Path
Prerequisites: kb/basics/
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ PHASE 1: SQL Fundamentals โ
โ โโ SELECT, WHERE, ORDER BY โ
โ โโ Filtering, comparison operators โ
โ โโ DISTINCT, LIMIT, OFFSET โ
โ โโ NULL handling (IS NULL, COALESCE) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ PHASE 2: Joins & Relations โ
โ โโ PRIMARY KEY, FOREIGN KEY โ
โ โโ INNER JOIN, LEFT JOIN โ
โ โโ Self joins, multiple joins โ
โ โโ UNION, INTERSECT, EXCEPT โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ PHASE 3: Aggregation & Grouping โ
โ โโ COUNT, SUM, AVG, MIN, MAX โ
โ โโ GROUP BY, HAVING โ
โ โโ Subqueries โ
โ โโ Window functions โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ PHASE 4: Schema & Indexing โ
โ โโ CREATE TABLE, ALTER TABLE โ
โ โโ Data types and constraints โ
โ โโ Indexes (B-tree, GIN, partial) โ
โ โโ EXPLAIN and query plans โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ PHASE 5: Transactions & Advanced โ
โ โโ ACID properties โ
โ โโ BEGIN, COMMIT, ROLLBACK โ
โ โโ Stored procedures and functions โ
โ โโ Migrations and schema versioning โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Articles in This Directory
๐ข Phase 1: SQL Fundamentals
- sql-fundamentals โ Writing your first queries
- SELECT, FROM, WHERE
- ORDER BY, LIMIT, OFFSET
- Comparison and logical operators
- NULL handling and COALESCE
- Prerequisites: None
- Time: 2-3 hours
๐ก Phase 2: Joins & Relations
- sql-joins โ Relating tables together
- PRIMARY KEY, FOREIGN KEY concepts
- INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN
- Multiple joins, self-joins
- UNION, INTERSECT, EXCEPT
- Prerequisites: SQL fundamentals
- Time: 2-3 hours
๐ก Phase 3: Aggregation & Grouping
- sql-aggregation โ Summarizing data
- COUNT, SUM, AVG, MIN, MAX
- GROUP BY, HAVING
- Subqueries in SELECT, WHERE, FROM
- Window functions (ROW_NUMBER, RANK, LAG, LEAD)
- Prerequisites: Joins and relations
- Time: 2-3 hours
๐ Phase 4: Schema & Indexing
- sql-schema โ Designing tables and indexes
- CREATE TABLE, ALTER TABLE, DROP TABLE
- Data types: INTEGER, TEXT, REAL, BLOB, SERIAL
- Constraints: NOT NULL, UNIQUE, CHECK, DEFAULT
- Indexes: single-column, composite, B-tree, GIN
- EXPLAIN and reading query plans
- Prerequisites: SQL fundamentals
- Time: 3-4 hours
๐ด Phase 5: Transactions & Advanced
- sql-transactions โ Multi-statement operations
- ACID: Atomicity, Consistency, Isolation, Durability
- BEGIN, COMMIT, ROLLBACK
- Isolation levels (READ COMMITTED, SERIALIZABLE)
- Migrations: Prisma migrations, raw SQL migrations
- Prerequisites: Schema design
- Time: 2-3 hours
๐ What Comes Next?
- kb/databases/ โ How this project uses databases (Prisma + SQLite/Postgres)
- kb/backend/ โ Connecting databases to backend services
- kb/infrastructure/ โ Database deployment and backup
๐ Change Log
2026-08-29
- Created sql/ directory scaffold
- Defined 5-phase learning path
- Targets SQLite (dev) and PostgreSQL (production)