Considere as seguintes tabelas de um banco de dados relacion...

Próximas questões
Com base no mesmo assunto
Q1861925 Banco de Dados
Considere as seguintes tabelas de um banco de dados relacional.
Funcionário (ID, Nome, Salário, Cod-Depto)
Departamento (Cod-Depto, Nome)

A chave primária da tabela “Funcionário” é o atributo “ID” e a chave primária da tabela “Departamento” é o atributo “Cod-Depto”. O atributo “Cod-Depto” na tabela “Funcionário” é uma chave estrangeira para a tabela “Departamento”, indicando o departamento onde o funcionário trabalha. Considere ainda a seguinte consulta formulada na linguagem SQL:

SELECT f1.*
    FROM Funcionário f1, Departamento d, Funcionário f2               WHERE f1.salário < f2.salário
    AND f1.Cod-Depto != f2.Cod-Depto
    AND d.Cod-Depto = f2.Cod-Depto
AND d.Nome = ‘Marketing’

Assinale a alternativa que descreve CORRETAMENTE a intenção dessa consulta.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a letra D. Vamos entender o porquê analisando a consulta SQL apresentada e o que ela busca retornar.

A consulta SQL em questão faz um JOIN entre três tabelas: Funcionário duas vezes (como f1 e f2) e Departamento (como d). O objetivo é comparar informações entre diferentes funcionários e departamentos. Vamos desmembrar as condições do WHERE para entender melhor:

  • f1.salário < f2.salário: Esta condição verifica se o salário do funcionário representado por f1 é menor do que o salário do funcionário representado por f2.

  • f1.Cod-Depto != f2.Cod-Depto: Esta condição garante que f1 e f2 não trabalhem no mesmo departamento.

  • d.Cod-Depto = f2.Cod-Depto: Esta condição assegura que o departamento d seja o mesmo departamento do funcionário f2.

  • d.Nome = 'Marketing': Esta condição seleciona o departamento de Marketing.

Combinando todas essas condições, a consulta retorna funcionários (f1) que possuem salários inferiores a algum funcionário (f2) do departamento de Marketing, onde f1 e f2 são de departamentos diferentes. Desta forma, a consulta está procurando por funcionários que não trabalham no departamento de Marketing, mas que, mesmo assim, possuem um salário inferior a pelo menos um dos funcionários do departamento de Marketing.

Portanto, a alternativa D está correta, pois descreve exatamente o que a consulta está buscando: "Buscar os dados dos funcionários que não trabalham no departamento de Marketing e possuem salários inferiores ao salário de algum funcionário que trabalha no departamento de Marketing."

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo