Questão FC372965
Em um ambiente Oracle, em condições ideais, um Analista precisa criar uma consulta para exibir o nome e o salário dos funcionários cujos números de departamento e salários correspo
Sistema de Gerenciamento de Banco de Dados (SGBD)
FCC · 2020
Em um ambiente Oracle, em condições ideais, um Analista precisa criar uma consulta para exibir o nome e o salário dos funcionários cujos números de departamento e salários correspondam a números de departamento e salários de funcionários que ganham comissão. Considerando que os campos usados na instrução existem na tabela colaboradores, a instrução PL/SQL correta que o Analista deve utilizar é:
- SELECT nome, salario FROM colaboradores WHERE (salario, idDepartamento) HAVE comissao NOT NULL;
- SELECT nome, salario FROM colaboradores WHERE (salario, idDepartamento) = (SELECT salario, idDepartamento FROM colaboradores WHERE comissao IS NOT NULL);
- SELECT nome, salario FROM colaboradores WHERE (salario, idDepartamento) IN (SELECT salario, idDepartamento FROM colaboradores WHERE comissao IS NOT NULL);
- SELECT nome, salario FROM colaboradores WHERE (comissão!=0 OR comissão IS NOT NULL);
- SELECT nome, salario FROM colaboradores WHERE (salario, idDepartamento) IS (SELECT salario, idDepartamento FROM colaboradores WHERE comissao!=0);
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
A instrução SELECT nome, salario FROM colaboradores WHERE (salario, idDepartamento) IN (SELECT salario, idDepartamento FROM colaboradores WHERE comissao IS NOT NULL); funciona porque usa uma tupla (row value constructor) à esquerda — (salario, idDepartamento) — e o operador IN para verificar se essa tupla existe no conjunto de tuplas retornadas pela subconsulta.
A subconsulta retorna pares salario e idDepartamento de todos os funcionários que têm comissao IS NOT NULL, ou seja, que recebem comissão. Assim, a cláusula WHERE seleciona quem possui o mesmo par (salário, departamento) de algum funcionário com comissão.
Observações importantes: as colunas nas duas tuplas devem ter a mesma ordem e tipos compatíveis. Também é natural que o próprio funcionário com comissão seja incluído no resultado, pois seu par estará presente no conjunto.
Conteúdo do catálogo FC Concursos · Atualizado em