Fynes Forge · Official practice repository for the Fynes Forg SQL 101 course.
This is the companion repository for the SQL 101 course. Fork this repo to save your query solutions as you work through each grade.
New here? Head to the course site, pick your database engine from the Getting Started section, create the schema, and then come back here.
- Fork this repository to your own GitHub account.
- Clone your fork locally.
- Set up your database using one of the scripts in
Resources/. - Work through the course grades in order.
- Save your query solutions in the matching
Exercises/Grade_X/folder. - Commit and push as you go — your fork becomes your personal portfolio of SQL work!
| Tool | Purpose |
|---|---|
| DBeaver Community | Free GUI for running SQL against any engine |
| DuckDB | Lightweight engine, great for local practice |
You can also use MySQL, PostgreSQL, SQL Server, or Snowflake — see the Resources/ folder for setup scripts for each engine.
sql-101-repo/
├── README.md
├── Resources/
│ ├── Create_Database.sql ← Schema + seed data (DuckDB / standard SQL)
│ ├── Create_Database_MySQL.sql ← MySQL variant
│ ├── Create_Database_MSSQL.sql ← SQL Server variant
│ └── tips.md ← Quick-reference tips and cheat sheet
└── Exercises/
├── Grade_1/ ← Introduction to SQL and Databases
├── Grade_2/ ← Intermediate Data Retrieval
├── Grade_3/ ← Advanced Data Retrieval
├── Grade_4/ ← Data Manipulation
├── Grade_5/ ← Database Design
├── Grade_6/ ← Advanced Functions
├── Grade_7/ ← Performance & Optimization
├── Grade_8/ ← Transactions & Window Functions
└── Grade_9/ ← Extras (engine-specific topics)
Each grade folder contains a exercises.sql file with the exercise prompts as comments and space for your answers.
| Grade | Topic | Key Concepts |
|---|---|---|
| 1 | Introduction | SELECT, WHERE, filtering |
| 2 | Intermediate Retrieval | ORDER BY, LIMIT, aggregate functions, aliases |
| 3 | Advanced Retrieval | JOIN, GROUP BY, subqueries, set operations |
| 4 | Data Manipulation | INSERT, UPDATE, DELETE |
| 5 | Database Design | CREATE TABLE, ALTER, DROP, constraints |
| 6 | Advanced Functions | String, date, maths functions, CASE |
| 7 | Performance | Indexes, query optimization, execution plans, CTEs |
| 8 | Transactions | BEGIN/COMMIT/ROLLBACK, locking, window functions |
| 9 | Extras | Engine-specific features (T-SQL cursors, DuckDB CSV etc.) |
- Stuck? Re-read the relevant course page, then try breaking the problem into smaller queries.
- Test incrementally — write a
SELECT *first to check the table, then add your filters. - Comment your work — write a brief note above each query explaining what it does.
- See
Resources/tips.mdfor a handy SQL cheat sheet.
Contributions are welcome. Please read CONTRIBUTING.md before opening a PR.