No TRUE rows means the table is unchanged.

highlighted = computed this step

No matching rows

If WHERE finds no TRUE rows, UPDATE leaves the table unchanged.

no match\text{no match}

Try missing owner

The update status is no_match with 0 matched rows and 0 changed cells.

changed=0\text{changed}=0

UPDATE examples are tiny finite row modifications; SQL dialect completeness, joins in UPDATE, subqueries, triggers, constraints, transactions, locks, indexes, optimizer behavior, performance, and product behavior are out of scope.

No matching rows: base rowsidownerstatuspointsnote1Adaopen10seed2Benopen20call3Cydone15NULL4DeeNULL5draft WHERE chooses rowssourcevaluecompareTotruthkeptForUpdate0AdaNiaFALSEno1BenNiaFALSEno2CyNiaFALSEno3DeeNiaFALSEno SET assignmentscolumnnewValuepoints0 Row-by-row updatesourcematchedassignmentsafter0no()(1, Ada, open, 10, seed)1no()(2, Ben, open, 20, call)2no()(3, Cy, done, 15, NULL)3no()(4, Dee, NULL, 5, draft) Rows after UPDATEidownerstatuspointsnote1Adaopen10seed2Benopen20call3Cydone15NULL4DeeNULL5draft UPDATE factsfactvaluebaseRowCount4finalRowCount4matchedRowCount0setColumnCount1changedCellCount0nullAssignmentCount0updateStatusno_matchwhereUnknownCount0

Compare after rows

The after table matches the base table because no row was chosen.

unchanged table\text{unchanged table}

Summary

No-match is still a computed result.

no hidden edit\text{no hidden edit}