SQL Semantics
Relation vs Bag
A SQL table is a bag, so duplicate rows are allowed.
A SQL table is a bag
A SQL table can keep duplicate rows instead of rejecting them. That is the first sharp edge after Book One set algebra. Note: the rendered table is the source of row details.
Duplicate rows are kept
The recomputed row count is 5 and the recomputed arity is 3. Note: the duplicate appears because bag semantics preserve multiplicity.
SQL bag/multiset + three-valued NULL logic, deterministic but surprising; tiny finite tables; no engine/perf claims. Set algebra is Book 1.
A duplicate changes the count
When the same columns are deduplicated, the recomputed row count is 4 instead of 5. Note: the difference is multiplicity, not another column or hidden attribute.
SQL bag/multiset + three-valued NULL logic, deterministic but surprising; tiny finite tables; no engine/perf claims. Set algebra is Book 1.
Summary
SQL tables are bags unless an operation says otherwise. Note: this book owns bag and NULL behavior; set algebra was Book One.