14 parts
Learn SQL from zero: SELECT, filtering, joins, aggregates, subqueries, and schema design — every query runs live against a real database in your browser.
What SQL and relational databases are, why every app needs one, and your first live query, runnable in your browser against a real database.
7 min read
The SQL SELECT statement, explained: choose columns, use SELECT *, rename with AS, and remove duplicates with DISTINCT, runnable live in your browser.
9 min read
Filter rows in SQL with WHERE: comparison and logical operators, BETWEEN, IN, LIKE, and IS NULL, with live, runnable queries in your browser.
8 min read
Sort and trim SQL results: ORDER BY ascending/descending, sorting by multiple columns, LIMIT and OFFSET for paging, with live runnable queries.
Summarize data in SQL with aggregate functions (COUNT, SUM, AVG, MIN, MAX) and understand how they collapse many rows into one, with live queries to run.
Group rows and summarize per group with SQL GROUP BY, then filter groups with HAVING, and learn why HAVING isn't WHERE. With live, runnable queries.
Combine tables in SQL with joins: INNER JOIN, LEFT JOIN, join keys, and joining three tables, explained with a diagram and live, runnable queries.
Use a query inside a query: SQL subqueries in WHERE with IN and EXISTS, scalar subqueries, and subqueries in FROM, with live, runnable examples.
Change data in SQL: INSERT new rows, UPDATE existing ones, and DELETE safely, plus why a missing WHERE is dangerous. With live, runnable examples.
Design tables with SQL: CREATE TABLE, column data types, PRIMARY KEY, NOT NULL, DEFAULT, and UNIQUE constraints. Build and query a table live in your browser.
10 min read
Model relationships in SQL: one-to-many and many-to-many, foreign keys, and how the orders/customers/products tables connect, with a diagram and live queries.
Make SQL queries fast: what an index is, when to add one with CREATE INDEX, reading EXPLAIN QUERY PLAN, and the trade-offs, explained simply, with examples.
Window functions in SQL without the headache: OVER, PARTITION BY, ROW_NUMBER, RANK, and running totals. Keep every row while you rank and total, live.
Put it together: design a small library database with SQL, create the tables, add data, and answer real questions with joins and aggregates. Fully runnable.
11 min read