SQL: Sintaxe da função COUNT
Gabarito: letra C. A ordem correta dos elementos em uma consulta SQL que utiliza a função de agregação COUNT é: SELECT, FROM e WHERE. A sintaxe padrão é SELECT COUNT(coluna) FROM tabela WHERE condição;. A sequência apresentada no enunciado (I, II, III) está exatamente nessa ordem, portanto a alternativa C está correta.
O enunciado fornece três linhas: I – SELECT COUNT(column_name), II – FROM table_name, III – WHERE condition;. A banca testa o conhecimento da ordem obrigatória das cláusulas SQL. A cláusula SELECT sempre vem primeiro, seguida de FROM e, opcionalmente, WHERE (se houver condição).
Alternativa A — ❌ Incorreta
Propõe a ordem I, III, II (SELECT, WHERE, FROM). Em SQL, a cláusula WHERE só pode aparecer depois da cláusula FROM, pois o filtro é aplicado sobre a tabela já referenciada.
Alternativa B — ❌ Incorreta
Sugere alterar a linha I para SELECT COUNT FOR(column_name). A palavra FOR não faz parte da sintaxe da função COUNT. A forma correta é COUNT(column_name) sem nenhum modificador FOR.
Alternativa C — ✅ Correta ⟵ GABARITO
Mantém a ordem I, II, III, que é exatamente a sintaxe padrão: SELECT COUNT(column_name) FROM table_name WHERE condition;. O MySQL, PostgreSQL, SQL Server e demais SGBDs relacionais seguem essa estrutura.
Alternativa D — ❌ Incorreta
Propõe SELECT (column_name) COUNT. A função de agregação deve vir imediatamente após SELECT e antes do parêntese com o nome da coluna. A posição do COUNT está errada; a sintaxe correta é SELECT COUNT(column_name).
Alternativa E — ❌ Incorreta
Sugere alterar a linha I para SELECT (column_name) e a linha III para WHERE condition IS COUNT(column_name). Isso elimina a função COUNT do SELECT (que passa a selecionar apenas a coluna) e usa IS de forma incorreta. WHERE condition IS COUNT(column_name) não é uma expressão booleana válida. A condição deve ser uma expressão que retorne verdadeiro/falso, como WHERE column_name = 'valor'.
Gabarito: letra C.