Logo Passei Direto
Buscar
As empresas modernas possuem diversos sistemas de informação para gerenciar suas operações, incluindo os recursos humanos. Nesses sistemas, é comum encontrar tabelas relacionadas que armazenam informações sobre os funcionários, como dados pessoais, cargos e salários. Além disso, pode haver tabelas adicionais para cadastrar informações sobre OS dependentes desses funcionários. Nesse contexto, surge a necessidade de identificar quais funcionários possuem dependentes cadastrados no sistema de RH. Essa informação é relevante para diversos propósitos, como a correta aplicação de benefícios e 0 planejamento de políticas de recursos humanos. Uma consulta SQL bem formulada pode fornecer essa visão geral do quadro de funcionários e seus respectivos dependentes. Uma empresa de recursos humanos possui um sistema de gerenciamento de funcionários, com as seguintes tabelas: Tabela "Funcionarios": id_funcionario (INT, Primary Key) nome (VARCHAR) cargo (VARCHAR) salario (DECIMAL) data_admissao (DATE) Tabela "Dependentes": Pesquisar por imagem id_dependente (INT, Primary Key) id_funcionario (INT, Foreign Key referenciando Funcionarios.id_funcionario) nome_dependente (VARCHAR) parentesco (VARCHAR) A diretoria de RH precisa identificar quais funcionários possuem dependentes cadastrados no sistema. Sendo assim, nas alternativas a seguir, indique aquela que contém 0 comando SQL correto para obter essa informação: A) SELECT Funcionarios.nome, Funcionarios.cargo, Funcionarios.salario FROM Funcionarios WHERE Funcionarios.id_funcionario IN ( SELECT id_funcionario FROM Dependentes GROUP BY id_funcionario ); B) SELECT Funcionarios.nome, Funcionarios.cargo, Funcionarios.salario FROM Funcionarios WHERE Funcionarios.id_funcionario NOT IN SELECT id_funcionario FROM Dependentes ); C) SELECT Funcionarios.nome, Funcionarios.cargo, Funcionarios.salario FROM Funcionarios INNER JOIN Dependentes ON Funcionarios.id_funcionario = Dependentes.id_funcionario; D) SELECT Funcionarios.nome, Funcionarios.cargo, Funcionarios.salario FROM Funcionarios WHERE EXISTS ( SELECT 1 FROM Dependentes WHERE Funcionarios.id_funcionario = Dependentes.id_funcionario ); E) SELECT DISTINCT Funcionarios.nome, Funcionarios.cargo, Funcionarios.salario FROM Funcionarios LEFT JOIN Dependentes ON Funcionarios.id_funcionario = Dependentes.id_funcionario WHERE Dependentes.id_dependente IS NOT NULL;
User badge image
Ismael Geisler

há 3 semanas

Respostas

User badge image

Ed Verified user icon

há 3 semanas

Vamos analisar cada alternativa para identificar qual contém o comando SQL correto para listar os funcionários que possuem dependentes cadastrados: A) ```sql SELECT Funcionarios.nome, Funcionarios.cargo, Funcionarios.salario FROM Funcionarios WHERE Funcionarios.id_funcionario IN (SELECT id_funcionario FROM Dependentes GROUP BY id_funcionario); ``` - Correto. O subselect retorna os funcionários que têm dependentes, o GROUP BY é redundante, mas não incorreto. B) ```sql SELECT Funcionarios.nome, Funcionarios.cargo, Funcionarios.salario FROM Funcionarios WHERE Funcionarios.id_funcionario NOT IN SELECT id_funcionario FROM Dependentes ); ``` - Incorreto. Falta um parêntese após NOT IN e o uso de NOT IN indica funcionários sem dependentes, mas a questão quer os que possuem dependentes. Além disso, a sintaxe está errada (falta parêntese no subselect). C) ```sql SELECT Funcionarios.nome, Funcionarios.cargo, Funcionarios.salario FROM Funcionarios INNER JOIN Dependentes ON Funcionarios.id_funcionario = Dependentes.id_funcionario; ``` - Correto. INNER JOIN retorna apenas funcionários que possuem dependentes. D) ```sql SELECT Funcionarios.nome, Funcionarios.cargo, Funcionarios.salario FROM Funcionarios WHERE EXISTS (SELECT 1 FROM Dependentes WHERE Funcionarios.id_funcionario = Dependentes.id_funcionario); ``` - Correto. EXISTS verifica se há dependentes para o funcionário. E) ```sql SELECT DISTINCT Funcionarios.nome, Funcionarios.cargo, Funcionarios.salario FROM Funcionarios LEFT JOIN Dependentes ON Funcionarios.id_funcionario = Dependentes.id_funcionario WHERE Dependentes.id_dependente IS NOT NULL; ``` - Correto. LEFT JOIN com filtro para dependentes não nulos retorna funcionários com dependentes. Conclusão: A alternativa incorreta é a B, pois possui erro de sintaxe e lógica contrária ao solicitado. Resposta correta: B

Essa resposta te ajudou?

0
Dislike0

Ainda não achou a resposta?

  • Integrado com os principais modelos de IA do mercado
  • Respostas em segundos
  • IA treinada para estudantes brasileiros.
PasseIA logoEvolua sua forma de estudar

Cadastre-se ou realize login

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina