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

  1. SELECT: reading dataChoosing columns, filtering rows, sorting, and limiting — the shape of nearly every query you will write.
  2. JoinsINNER, LEFT, RIGHT and FULL joins explained with row counts — plus the accidental fan-out that ruins aggregates.
  3. Aggregation and GROUP BYCOUNT, SUM, AVG and friends; HAVING versus WHERE; and why COUNT(*) differs from COUNT(col).
  4. INSERT, UPDATE, DELETEChanging data safely: returning clauses, transactions, upserts, and the missing WHERE clause everybody learns once.
  5. 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.