Analista da Polícia Civil - Área de Tecnologia da Informação
Considerando o uso de duas tabelas (EMPRESA, FUNCIONARIO), que estão correlacionadas através da coluna ID_EMPRESA, qual é a sintaxe correta em SQL para efetuar uma consulta agregando as informações das duas tabelas?
Aselect e.nome, f.nome from empresa as e, funcionario as f where e.id_empresa = f.id_empresa
Bselect e.nome, f.nome from empresa.e, funcionário.f where e.id_empresa = f.id_empresa
Cselect e.nome, f.nome from empresa.e, funcionário.f where id_empresa
Dselect funcionário.nome, empresa.nome from empresa.id = funcionário.id
Revelar gabarito e comentário▾
GabaritoA — select e.nome, f.nome from empresa as e, funcionario as f where e.id_empresa = f.id_empresa
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
SQL: Sintaxe de junção entre tabelas
Gabarito: letra A. A alternativa A apresenta a sintaxe correta para uma junção implícita (também chamada de junção interna) entre duas tabelas: utiliza a cláusula FROM com as duas tabelas separadas por vírgula, atribui aliases (as e e as f) e especifica a condição de junção na cláusula WHERE (e.id_empresa = f.id_empresa). Essa é a forma clássica e padrão da linguagem SQL.
O comando SELECT básico com junção entre tabelas segue a estrutura:
SELECT tabela1.coluna, tabela2.coluna
FROM tabela1 alias1, tabela2 alias2
WHERE alias1.coluna_chave = alias2.coluna_chave;
Alternativa A — ✅ Correta ⟵ GABARITO
A sintaxe está correta: select e.nome, f.nome from empresa as e, funcionario as f where e.id_empresa = f.id_empresa. Ela declara as tabelas com aliases (e para empresa, f para funcionario), e junta as linhas onde o ID_EMPRESA coincide. O uso de as para alias é opcional mas válido.
Alternativa B — ❌ Incorreta
Erro de sintaxe: empresa.e e funcionário.f não são formas válidas de definir alias. A notação correta seria empresa as e ou apenas empresa e. Além disso, a palavra "funcionário" está com acento, o que não é permitido em identificadores SQL padrão (a menos que seja usado com delimitadores, mas não é o caso).
Alternativa C — ❌ Incorreta
Além do mesmo erro de sintaxe do alias (empresa.e, funcionário.f), a cláusula WHERE está incompleta: where id_empresa sem uma condição de igualdade. A junção exige uma expressão lógica (ex.: e.id_empresa = f.id_empresa).
Alternativa D — ❌ Incorreta
A construção from empresa.id = funcionário.id está totalmente equivocada. A cláusula FROM espera nomes de tabelas, não expressões de igualdade. A sintaxe correta seria FROM empresa, funcionario e a condição de junção na cláusula WHERE.
PEGA ESSA DICA!
Memorize a estrutura da junção implícita: SELECT ... FROM tabela1 alias1, tabela2 alias2 WHERE alias1.coluna = alias2.coluna. O alias facilita a leitura e evita ambiguidade quando as colunas têm o mesmo nome. Nas provas, desconfie de sintaxes com ponto após o nome da tabela (ex.: tabela.alias) ou de condições de WHERE que não incluem a igualdade das chaves.