SELECT Without wildcard returns 0 rows
Based on the execution plan, and the data distribution, MySQL would decide to scan the table or one of the indexes to get the required data.

If the data is to be read from an index, and the index is corrupted, it is possible that no data or wrong data is returned. 

Optimizing the table will rebuild the table and its indexes. So, if an index was corrupted, it will be fixed after the optimization.

HTH