O manual do MySQL deixa tudo isso bem claro na seção sobre
SELECT sintaxe
:A documentação parece indicar que
* por si só é válido apenas no caso especial em que é a única coisa na lista de seleção. No entanto, ele diz apenas usando um * não qualificado com outros itens pode produzir um erro de análise. Além do MySQL, o padrão SQL-92 (antigo, mas vinculável) diz o mesmo:
<select list> pode ser <asterisk> por si só ou uma lista de seleção "normal".