Expected rows are assertions only; compiler output is the source of truth.

highlighted = computed this step

Honest by construction

Every lesson compiles raw input, converts recomputed output rows into expected assertions, and compiles again. Wrong rows, derived sidecars, and unsupported claims fail closed.

recompute before render\text{recompute before render}

Guarded SQL facts

The guarded join has 5 output rows and 4 explicit scope placeholders.

rows=5,scope placeholders=4\text{rows}=5,\quad \text{scope placeholders}=4

SQL extensions are rendered as tiny finite-table semantics; SQL dialect completeness, optimizer behavior, execution cost, full DDL behavior, and database-product claims are out of scope.

compiled summaryfactvaluerowCount5arity5rootKindleft_outer_join Guarded SQL extension factsStudents.sidStudents.nameScores.sidScores.courseScores.scores1Adas1DB90s1Adas1OS80s2Bos2DBNULLs3CyNULLNULLNULLNULLNilNULLNULLNULL left-row match countsleftRowmatchCount02112030

Summary

Book fifteen stays inside finite-table compiler facts. Note: product SQL, dialect completeness, optimizers, execution cost, and full DDL are not modeled.

honest SQL extension render\text{honest SQL extension render}