SQL Fundamentals
The language of data, explained from first principles. Learn queries, joins, aggregation, data modeling and transactions in vendor-neutral standard SQL — and remember it with spaced repetition.
- flashcards
- 80
- flashcards
- per day
- ~10 min
- per day
- level
- Beginner → Intermediate
- level
- modules
- 5
- modules
What is SQL?
SQL is the standard language for working with relational databases — the systems that store most of the world’s structured data. Whether you are a backend developer, data analyst or DevOps engineer, sooner or later the answer to your question lives in a database, and SQL is how you ask for it.
The fundamentals are where SQL rewards precision. Knowing that a LEFT JOIN preserves unmatched rows while filtering it in WHERE silently turns it into an inner join; that NULL compares as unknown, never equal; or that an UPDATE without WHERE rewrites every row — these are the details that separate confident querying from copy-pasted guesswork.
This track teaches vendor-neutral, standard SQL in five modules — SELECT fundamentals, joins, aggregation and window functions, data modeling with keys and constraints, and modifying data with transactions and ACID. Where engines differ (LIMIT vs TOP), the explanations say so — the concepts transfer to PostgreSQL, MySQL, SQLite and beyond.
5 modules, seed to bloom
Each module is a set of flashcards — 80 in total. Answer, review, and watch your knowledge grow from seed to full bloom.
SELECT Fundamentals
SELECT, WHERE, ORDER BY, LIMIT, NULL logic, and how queries are evaluated
16 cardsJoins & Combining Data
Inner and outer joins, self-joins, EXISTS patterns, and UNION set operations
16 cardsAggregation & Grouping
Aggregate functions, GROUP BY, HAVING, and an introduction to window functions
16 cardsData Modeling & Constraints
Keys, constraints, indexes, normalization, and relational schema design
16 cardsModifying Data & Transactions
INSERT, UPDATE, DELETE, TRUNCATE, transactions, ACID, and rollback safety
16 cardsSample questions
A taste of the real flashcards. Pick an answer, then reveal the explanation.
What does the condition WHERE price = NULL match?
- ANothing, because the comparison evaluates to unknown
- BEvery row whose price column has no value stored
- CEvery row, because = NULL is always taken as true
- DEvery row whose price is zero or has no value at all
10 customers, 4 with orders. How many rows does a LEFT JOIN give?
- ATen, with NULL order columns for the six that have none
- BFour, since only the customers with orders can match
- CSix, returning just the customers who never ordered
- DFourteen, the matches plus every unmatched row of both
Filter 2026 orders, group by customer, keep counts over 3. How?
- AThe year in WHERE, and the order count in HAVING
- BThe order count in WHERE, and the year in HAVING
- CBoth in HAVING, since both narrow the final result
- DBoth in WHERE, since both are known before grouping
An UPDATE runs with no WHERE clause. What happens?
- AEvery row is updated, with no warning at all
- BThe statement is rejected, since UPDATE requires a WHERE
- COnly the first row is updated, as a safety default
- DNothing changes until a WHERE clause is supplied
Learn it once, keep it for good
Answer a question
Each card is one practical concept with multiple options. Pick what you think is right.
Get the full answer
See the correct option plus a clear explanation, and a link to deeper docs when one is available.
Review at the right time
A spaced-repetition engine (SM-2 or FSRS) resurfaces each card just before you would forget it.
Why SQL is worth your time
Universal and evergreen
SQL has outlived five decades of technology cycles. One language covers PostgreSQL, MySQL, SQLite, SQL Server and the data warehouses.
Fewer silent data bugs
NULL logic, join fan-out and WHERE-vs-ON are the classic sources of silently wrong results — knowing them is how you stop shipping bad numbers.
A skill for every role
Backend, data, analytics, DevOps — every technical role eventually queries a database. SQL fluency compounds across all of them.
Interview-ready
Joins, GROUP BY vs HAVING, window functions and ACID are staple questions in backend and data interviews at every level.
Common questions
Which database does this track use? +
None in particular — the cards teach standard, vendor-neutral SQL that holds across PostgreSQL, MySQL, SQLite and SQL Server. Where syntax differs between engines, the explanation points it out.
Do I need a database installed to practice? +
No. The flashcards test conceptual understanding — what a query returns and why — so you can study anywhere. Pairing the track with any sandbox database deepens the practice, but nothing is required.
Is it free? +
Yes, completely free. No registration or credit card is required, and all your progress is stored locally in your browser.
Does it cover window functions and transactions? +
Yes. The aggregation module introduces window functions (OVER, PARTITION BY, ROW_NUMBER vs RANK), and a dedicated module covers transactions, ACID guarantees, savepoints and isolation basics like dirty reads.
Ready to master SQL?
Plant your first seed today. Ten minutes a day is all it takes to grow real, lasting SQL fluency.
