Programming · 5 modules

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
About this topic

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.

What you'll learn

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 cards

Joins & Combining Data

Inner and outer joins, self-joins, EXISTS patterns, and UNION set operations

16 cards

Aggregation & Grouping

Aggregate functions, GROUP BY, HAVING, and an introduction to window functions

16 cards

Data Modeling & Constraints

Keys, constraints, indexes, normalization, and relational schema design

16 cards

Modifying Data & Transactions

INSERT, UPDATE, DELETE, TRUNCATE, transactions, ACID, and rollback safety

16 cards
Try before you plant

Sample questions

A taste of the real flashcards. Pick an answer, then reveal the explanation.

Sample · SQL Fundamentals

What does the comparison price = NULL evaluate to?

  • AUnknown — comparisons with NULL are never true, so the row is filtered out
  • BTrue for NULL prices — equality is the standard way to test for missing values
  • CFalse for every row — the parser rewrites the comparison to a constant
  • DA syntax error — NULL is a keyword and cannot appear after an operator
Permalink & share
Sample · SQL Fundamentals

What does a LEFT JOIN return?

  • AAll rows from the left table — right-side columns are NULL where no match exists
  • BAll rows from the right table — left-side columns are NULL where no match exists
  • COnly left-table rows that have a match — unmatched left rows are filtered out
  • DAll rows from both tables — every unmatched row is padded with NULLs on either side
Permalink & share
Sample · SQL Fundamentals

What is the difference between WHERE and HAVING?

  • AWHERE filters rows before grouping while HAVING filters groups after aggregation
  • BWHERE filters numeric values while HAVING is the equivalent for text columns
  • CWHERE works in plain queries while HAVING replaces it whenever joins are used
  • DWHERE is evaluated last while HAVING runs first to reduce the grouping work
Permalink & share
Sample · SQL Fundamentals

What does an UPDATE without a WHERE clause do?

  • AUpdates every row in the table — the assignment applies to all rows unconditionally
  • BUpdates no rows at all — the engine refuses to run without a filtering condition
  • CUpdates the first row only — the statement stops after one successful change
  • DRaises a syntax error — WHERE is a mandatory clause of the UPDATE statement
Permalink & share
How Gnoseed works

Learn it once, keep it for good

1

Answer a question

Each card is one practical concept with multiple options. Pick what you think is right.

2

Get the full answer

See the correct option plus a clear explanation, and a link to deeper docs when one is available.

3

Review at the right time

A spaced-repetition engine (SM-2 or FSRS) resurfaces each card just before you would forget it.

Why learn this

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.

FAQ

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.

Start learning free