Gabarito disponível
CREATE TABLE auditorias (id_auditoria INT PRIMARY KEY, id_empresa INT, data_auditoria DATE, FOREIGN KEY (id_empresa) REFERENCES empresas(id_empresa));
A partir das tabelas precedentes, referentes a empresas em que foram realizadas auditorias, assinale a opção em que a consulta SQL apresentada retorna corretamente a lista de empresas que foram objeto de nenhuma ou de apenas uma auditoria no ano de 2025.
Resolução comentada
LEFT JOIN com filtro de data no ON e COUNT da coluna da tabela filha.
Para incluir empresas sem auditoria, usa-se LEFT JOIN com o filtro de 2025 no ON (não no WHERE) e COUNT(a.id_auditoria), que ignora NULLs e retorna 0 para quem não tem auditoria. Assim HAVING <= 1 traz nenhuma ou uma.
Análise das alternativas
A) e E) O filtro no WHERE elimina empresas sem auditoria. C) INNER JOIN também exclui quem não tem auditoria. D) Não filtra o ano de 2025, e COUNT(*) conta 1 para empresas sem auditoria.
Referência: SQL: LEFT JOIN, COUNT e HAVING.
Resolução comentada do VaiConcursos.