Imagem de fundo

Dado um esquema das relações a seguir, qual seria um...

Dado um esquema das relações a seguir, qual seria um comando SQL que responderia ao seguinte questionamento: "Quais os nomes dos empregados do departamento cujo código é 307 que não gozaram nenhum dia de férias no ano de referência de 2005?

" Esquema das relações:

Empregados : (Cód_Empregado, Nome_Empregado, Cód_Departamento) Departamentos : (Cód_Departamento, Nome_Departamento)

Férias : (Cód_Empregado, Ano_Referencia, Data_Inicio, Data_Final)

Observações:

* Um departamento possui vários empregados e cada empregado tem que estar lotado necessariamente em um único departamento;

* Um empregado pode gozar vários períodos de férias, mas somente poderá registrar uma única férias para cada ano de referência;


A

SELECT Nome_Empregado FROM Empregados WHERE Empregados.Cód_Empregado NOT IN (SELECT Férias.Cod_Empregado FROM Férias HAVING (Ano_Referencia = 2005) AND (Cod_Departamento = 307);


B

SELECT Nome_Empregado FROM Empregados, Férias WHERE (Empregados.Cod_Empregado = Férias.Cód_Empregado) AND (Cod_Departamento = 307) AND (Cód_Empregado <> Férias.Cod_Empregado) HAVING (Ano_Referencia = 2005);


C

SELECT Nome_Empregado FROM Empregados, Férias WHERE (Empregados.Cod_Empregado = Férias.Cód_Empregado) AND (Cod_Departamento = 307) AND (Cód_Empregado NOT IN (SELECT Cod_Empregado FROM Férias)) HAVING (Ano_Referencia = 2005);


D

SELECT Nome_Empregado FROM Empregados, Férias WHERE (Empregados.Cod_Empregado = Férias.Cód_Empregado) AND (Cod_Departamento = 307) AND (Ano_Referencia = 2005) AND (Cód_Empregado <> (SELECT Cod_Empregado FROM Férias));


E

SELECT Nome_Empregado FROM Empregados WHERE (Cod_Departamento = 307) AND (Cód_Empregado NOT IN (SELECT Cod_Empregado FROM Férias WHERE Ano_Referencia = 2005));