Informática, perguntado por douglasdvoxtfat, 1 ano atrás


Com base no seguinte DER:


Qual é a forma CORRETA para criar uma query que mostre o último nome, número do departamento e código do cargo de todos os empregados cuja localização do departamento seja igual a 1.700?
a.

select last_name "Último Nome",


department_id "Código do Depto",


job_id "Código Do Cargo"


from employees


where department_id not in(select department_id from departments


where Location_id=1700)
b.

select last_name "Último Nome",


department_id "Código do Depto",


job_id "Código Do Cargo"


from employees


where department_id >(select department_id from departments


where location_id=1700)
c.

select last_name "Último Nome",


department_id "Código do Depto",


job_id "Código Do Cargo"


from employees


where department_id =(select department_id from departments


where location_id=1700)
d.

select last_name "Último Nome",


department_id "Código do Depto",


job_id "Código Do Cargo"


from employees


where department_id <=(select department_id from departments


where location_id=1700)
e.

select last_name "Último Nome",


department_id "Código do Depto",


job_id "Código Do Cargo"


from employees


where department_id in (select department_id from departments


where location_id=1700)

Soluções para a tarefa

Respondido por mligya
104
Bom dia!


A letra A está incorreta, pois na condição de localizar o departamento, o código "not in" retornará todos os departamentos que não são equivalentes ao código 1700.


A letra B está incorreta, pois na condição de localizar o departamento, o código ">" retornará todos os departamentos que são maiores que o código 1700.


A letra C está errada, pois na condição de localizar o departamento, o código "=" está com a sintaxe incorreta, para utilizar o código "=" seria necessário já ter um valor pré definido e não fazer uma outra busca.


A letra D está errada pois, pois na condição de localizar o departamento o código "<=" retornará todos os valores de departamentos menores ou iguais ao código 1700.


Portanto, a alternativa correta é a letra E, pois ao contrário do código "=" a condição "in" não exige um valor pré definido, logo é possível realizar a busca dentro de uma outra busca.


Abraços!

Respondido por flaviodepaulasilva
22

Resposta:

LETRA E

SELECT last_name "Último Nome", department_id "Código do Depto",  

job_id "Código Do Cargo"

FROM employees

WHERE department_id IN (SELECT department_id

                                            FROM departments  

                                             WHERE location_id = 1700)

Explicação:

Perguntas interessantes