FC ConcursosFC Concursos

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 é:

  1. SELECT nome, salario FROM colaboradores WHERE (salario, idDepartamento) HAVE comissao NOT NULL;
  2. SELECT nome, salario FROM colaboradores WHERE (salario, idDepartamento) = (SELECT salario, idDepartamento FROM colaboradores WHERE comissao IS NOT NULL);
  3. SELECT nome, salario FROM colaboradores WHERE (salario, idDepartamento) IN (SELECT salario, idDepartamento FROM colaboradores WHERE comissao IS NOT NULL);
  4. SELECT nome, salario FROM colaboradores WHERE (comissão!=0 OR comissão IS NOT NULL);
  5. 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

Continue aprendendo