SQL Jounrey from 0 to 1
So, I started learning sql and databases for my job prep. But in truth, job prep is just a trigger, I wanted to and would have learn databases anyway as I am working on projects where I have to collect and keep user data and keep them secure. So, far I have learned only the basics. I already knew about CRUD but here I will apply it and once I get confident in some of it I will make a detailed path of how everyone should proceed. Using MySQL for now as I am following a tutorial but will soon use PostgreSQL
Section and project structure update
bytebook/
├── golang/
│ └── ...
├── sql/
│ ├── 00-sql-cheatsheet.md
│ ├── 01-select-queries.sql
│ ├── 02-joins-explained.md
│ ├── 03-sqlbolt-solutions/
│ │ ├── sqlbolt-01-select.png
│ │ ├── sqlbolt-02-join.png
│ │ └── ...
│ ├── 04-leetcode-solutions/
│ │ ├── easy/
│ │ │ ├── 175-combine-two-tables.sql
│ │ │ └── ...
│ │ └── medium/
│ │ └── ...
│ ├── flashcards.md
│ └── README.md
The thing that I think will be super helpful to learn
-
I will be creating a cheatsheet kind of thing for quick overview of sql commands and stuff and call it the
SQL cheesheet
. -
I will also be creating a flashcards collection(kind of like screenshot of the code but it can be done in .md file too)
-
Will solve and practice sql related problems from leetcode and sqlbolt and use screenshot strategy on that so that it looks cool.
🖼 Screenshot Strategy
For each screenshot:
-
Take a clear pic of the solution from SQLBolt or LeetCode
-
Rename descriptively:
sqlbolt-03-select-where.png
-
Add captions in a
.md
file:
### SQLBolt #3 — SELECT WHERE

Used WHERE to filter based on age. Simple but foundational.
🗃 Flashcards Strategy
Make a flashcards.md
that uses a format compatible with Anki or can be quickly skimmed:
### What does LEFT JOIN do?
Returns all records from the left table, and the matched records from the right table. NULLs if no match.
### Difference between WHERE and HAVING?
WHERE filters rows before grouping. HAVING filters groups after GROUP BY.
### Syntax for subquery?
SELECT * FROM (SELECT id FROM users WHERE active = 1) AS active_users;