Progress tracker for learning SQL from beginner to advanced.
Progress: 6/31 topics (0%)
- What is a database & SQL? — RDBMS concepts, tables, rows, columns, relations
- Basic SELECT — SELECT *, SELECT columns, FROM, alias AS
- WHERE & filtering data — =, !=, >, <, BETWEEN, IN, IS NULL
- ORDER BY & LIMIT — Sorting ASC/DESC, limiting results
- SQL data types — INT, VARCHAR, TEXT, DATE, BOOLEAN, FLOAT
- INSERT, UPDATE, DELETE — Basic data manipulation (DML)
- CREATE & DROP TABLE — Creating and deleting tables (DDL basics)
- LIKE & wildcards (%_) — Pattern-based text search
- Aggregate functions — COUNT, SUM, AVG, MIN, MAX
- GROUP BY — Grouping data for aggregation
- HAVING — Filtering GROUP BY results
- INNER JOIN — Combine tables — matching rows only
- LEFT JOIN & RIGHT JOIN — Combine tables including non-matching rows
- FULL OUTER JOIN — All rows from both tables
- Basic subqueries — Query inside a query (WHERE / FROM)
- UNION & UNION ALL — Merging results from two queries
- Primary Key & Foreign Key — Unique identity and table relationships
- Normalization 1NF — No repeating columns, atomic values
- Normalization 2NF — No partial dependency
- Normalization 3NF — No transitive dependency
- ER Diagram — Visually mapping entity relationships
- Constraints — NOT NULL, UNIQUE, CHECK, DEFAULT
- Indexes — Speeding up queries with indexing
- Window functions — ROW_NUMBER, RANK, DENSE_RANK, PARTITION BY
- CTE (WITH ... AS) — Common Table Expressions for complex queries
- CASE WHEN — Conditional logic inside queries
- Advanced subqueries (EXISTS, ANY, ALL) — Correlated subqueries and set comparisons
- Stored procedures & functions — Reusable saved SQL blocks
- Transactions & ROLLBACK — COMMIT, ROLLBACK, ACID properties
- Views — Saved queries as virtual tables
- Query optimization — EXPLAIN PLAN, avoiding N+1, performance tips
Tools: MySQL / PostgreSQL / SQLite