- No previous SQL experience is required
- Basic familiarity with tables or spreadsheet-style rows and columns is helpful
SQL & Relational Databases
Learn how relational databases model data, how SQL retrieves and changes it, and how indexes and transactions shape correctness and performance.
Know where you are going before you begin
A useful course should make the starting point, destination, and learning method clear—not make you guess from a list of links.
Inside this course
Move through the material in order unless a prerequisite or practice link gives you a better reason to branch.
Turn real-world entities and relationships into tables, primary keys, foreign keys, and constraints.
Build queries by reasoning about row sets, join cardinality, grouping, and the order of logical operations.
A concise reference for B-tree indexes, selectivity, ACID properties, isolation, locking, and common performance traps.
Continue with purpose
These are curated relationships from the SubjectVision learning graph. Each recommendation should answer why it is useful next rather than merely adding another link.
Test what you can apply
Five course-specific questions covering the most important ideas in SQL & Relational Databases. Commit to an answer before reading the explanation.
What is the most useful first question when designing a relational table?
Defining the grain—what one row means—prevents mixed facts and makes keys, constraints, and later queries easier to reason about.
Review this topic →Why is a foreign-key constraint useful?
A foreign key protects referential integrity by requiring referenced parent values to exist, subject to the configured update/delete behavior.
Review this topic →Which clause should usually filter groups based on COUNT(*)?
HAVING applies conditions after grouping, so it can filter on aggregate results such as COUNT or SUM.
Review this topic →Why can putting a right-table condition in WHERE change a LEFT JOIN?
Rows with no right-side match contain NULLs; a WHERE predicate on that right-side column often rejects them, defeating the outer-join intent.
Review this topic →Which statement best describes database indexes?
Indexes trade extra storage and maintenance work for cheaper access paths on matching predicates, joins, or orderings.
Review this topic →Review any missed answers, then continue while the concepts are fresh enough to connect.