Thank you for taking the time to help improve this course! Whether you've spotted a typo, found a broken query, or have an idea for a better exercise — contributions are very welcome.
- 🐛 Bug report — a query in the course docs doesn't work on your database engine
- ✏️ Typo / wording fix — something is unclear or incorrectly written
- 💡 New exercise suggestion — you have a good practice question for a grade
- 📄 Documentation improvement — setup steps, tips, or README clarifications
- 🗄️ Dialect support — a function or syntax that needs a note for MySQL / SQL Server / Snowflake etc.
- Check existing issues first — someone may have already reported the same thing.
- One change per PR — keeps reviews fast and focused.
- Test your SQL — run any queries you add or change before submitting.
git clone https://github.com/<your-username>/sql-101.git
cd sql-101Use a clear, descriptive branch name:
git checkout -b fix/grade3-join-exercise
git checkout -b feat/grade2-challenge-exercise
git checkout -b docs/clarify-duckdb-setup- Exercise files live in
Exercises/Grade_X/exercises.sql - Resources (schema, tips) live in
Resources/ - Course docs live in
docs/— see the main course repo for those
Write a short, clear commit message:
git commit -m "fix: correct column name in Grade 3 join exercise"
git commit -m "feat: add challenge exercise to Grade 5 constraints"
git commit -m "docs: add note about DuckDB USE statement"git push origin your-branch-nameThen open a Pull Request on GitHub. Fill in the PR template — it only takes a minute and helps reviewers understand your change quickly.
When adding or changing exercises, please follow the existing style:
-- Exercise X.Y
-- Plain English description of what the student needs to do.
-- Tip: (optional) a hint if the concept is tricky.
-- YOUR QUERY HERE:- Questions should be answerable using only the tables in
Resources/Create_Database.sql - Keep questions focused on the concepts taught in that grade
- Challenge exercises are welcome — mark them with
(Challenge)in the title comment - Do not include answer queries in the exercise files (answers go in a separate branch / discussion)
Use the issue templates provided:
- Bug report — for broken queries, schema errors, or incorrect expected results
- Exercise suggestion — for proposing new practice questions
Be kind. This course is for learners at all levels. Feedback should be constructive, and everyone deserves a welcoming environment to learn SQL.
Open a discussion on the main course repo — that's the best place to ask.