Questão de Arquitetura de Software — Banco de Dados — FCC 2023
- Código
- fc070441
- Banca
- FCC
- Órgão
- TRT - 21ª Região (RN)
- Ano
- 2023
- Nível
- Superior
- Cargo
- Analista Judiciário - Área: Apoio Especializado - Tecnologia da Informação
- A

- B

- C

- D

- E






GabaritoD — [imagem]
Gabarito: letra D. O comando correto utiliza a cláusula INNER JOIN para realizar a junção entre as tabelas usuario, funcionario e departamento, garantindo que apenas registros com correspondência nas chaves estrangeiras (emailFun e idDep) sejam retornados, filtrando pelo critério específico da senha do usuário.
A estrutura do banco de dados exige a navegação entre três entidades: usuario (contém a senha), funcionario (contém os dados pessoais e o vínculo com o departamento) e departamento (contém o nome do setor). A consulta deve encadear essas tabelas através de suas chaves primárias e estrangeiras para recuperar as informações solicitadas.
Utiliza a sintaxe OUTER JOIN sem especificar o tipo (LEFT, RIGHT ou FULL), o que não é a forma padrão e mais eficiente para realizar uma junção simples de dados obrigatórios entre tabelas relacionadas.
Emprega a cláusula IN de forma sintaticamente incorreta para realizar a junção de tabelas. A cláusula IN é utilizada para filtros em subconsultas ou listas de valores, não para definir a condição de junção (ON) entre tabelas em um JOIN.
Utiliza a cláusula WHERE para tentar realizar a junção das tabelas, o que é uma sintaxe obsoleta e menos legível que o padrão JOIN ... ON. Além disso, a estrutura apresentada não define corretamente a relação entre as tabelas no comando FROM.
Esta alternativa utiliza a sintaxe correta do padrão SQL para junções (INNER JOIN ... ON), estabelecendo as relações de chave estrangeira entre usuario e funcionario (emailFun) e entre funcionario e departamento (idDep), filtrando corretamente pelo valor da senha.
Embora tecnicamente possível em alguns cenários, utiliza subconsultas excessivas e desnecessárias para cada coluna selecionada, o que torna a consulta extremamente ineficiente e de difícil manutenção em comparação ao uso direto de JOIN.
Sempre que precisar relacionar dados de múltiplas tabelas, prefira a sintaxe JOIN (padrão ANSI SQL). Ela separa claramente a lógica de junção (quem se conecta com quem) da lógica de filtragem (WHERE), tornando o código mais limpo e performático.
Gabarito: letra D
Link permanente: /questoes/fc070441