MySQL Assuming unsigned result in subtractions, what's the motive?
Catch-22.
I'll use TINYINT to make the numbers easier.  SIGNED range is -128..127; UNSIGNED is 0..255

Your question, as I see it, is "Why not make the result SIGNED?"

Your case is (10) - (12) = (-2), which cannot be represented as UNSIGNED.

A different case is (200) - (1) = (199), which cannot be represented as SIGNED.

Either decision leads to some arguments producing an value that is "out of range".

(I don't know the history of the decision.  Also, I don't know if there is an SQL standard that is involved.)