Vous avez raison, MySQL vous permet de créer des requêtes ambiguës et ayant des résultats arbitraires. MySQL vous fait confiance pour savoir ce que vous faites, il est donc de votre responsabilité d'éviter de telles requêtes.
Vous pouvez faire en sorte que MySQL applique GROUP BY de manière plus standard :
mysql> SET SQL_MODE=ONLY_FULL_GROUP_BY;
mysql> select EMP_ID, SALARY
from EMPLOYEE_PAY_TBL
group by BONUS;
ERROR 1055 (42000): 'test.EMPLOYEE_PAY_TBL.EMP_ID' isn't in GROUP BY