Beginner
SQL / MySQL
Query, join, aggregate and design relational databases with MySQL.
Start learningLessons
1SELECT, WHERE & ORDER BYRetrieve, filter, sort and page through rows, and understand how MySQL really executes a query.7 min
2Aggregations & GROUP BYSummarise data with COUNT, SUM and AVG, group by one or more columns, and filter groups with HAVING.7 min
3JOINsCombine rows from several tables with INNER, LEFT and self joins, and avoid the classic double-counting traps.7 min
4Subqueries & CTEsNest queries inside queries and break complex logic into readable steps with WITH clauses.7 min
5Window functionsRank, running totals and period-over-period comparisons without collapsing rows.7 min
6Creating tables & indexes in MySQLDesign schemas with the right column types, keys, constraints and indexes, and alter them safely.8 min
7INSERT, UPDATE, DELETE & transactionsChange data safely, use upserts and group changes into all-or-nothing transactions.7 min
8Query performance with EXPLAINRead execution plans, design composite indexes and rewrite slow queries.7 min