Doing math in SQL can ignore indices

Code
-- tested with MySQL 5.6

-- full table scan
EXPLAIN
SELECT * FROM history
 WHERE id + 300 = 400;

-- uses index
EXPLAIN
SELECT * FROM history
 WHERE id = 400 - 300;
Result
idselect_typetablepartitionstypepossible_keyskeykey_lenrefrowsfilteredExtra
1SIMPLEhistorynullALLnullnullnullnull1407100.00Using where
0.001060962677002 ms (with caching enabled)

idselect_typetablepartitionstypepossible_keyskeykey_lenrefrowsfilteredExtra
1SIMPLEhistorynullconstPRIMARYPRIMARY4const1100.00null
0.14615392684937 ms (with caching enabled)