SQL
Querying, writing and speeding up relational data.
💡
This course has 5 lessons. Start with the first one and use the next / previous links at the bottom of each lesson — the sidebar keeps the whole course in order.
Lessons
- SELECT: reading dataChoosing columns, filtering rows, sorting, and limiting — the shape of nearly every query you will write.
- JoinsINNER, LEFT, RIGHT and FULL joins explained with row counts — plus the accidental fan-out that ruins aggregates.
- Aggregation and GROUP BYCOUNT, SUM, AVG and friends; HAVING versus WHERE; and why COUNT(*) differs from COUNT(col).
- INSERT, UPDATE, DELETEChanging data safely: returning clauses, transactions, upserts, and the missing WHERE clause everybody learns once.
- Indexes and query speedHow indexes actually help, composite column order, and reading a query plan to find the real bottleneck.
Last refreshed 2026-09-17.