FC ConcursosFC Concursos

Questão FC372895

Considere a instrução PL/SQL abaixo, digitada no Oracle, no qual as tabelas com os respectivos campos existem em condições ideais. SELECT f.nome_funcionario, f.id_departamento, d.n

Linguagem SQL

FCC · 2018

Considere a instrução PL/SQL abaixo, digitada no Oracle, no qual as tabelas com os respectivos campos existem em condições ideais. 

 

SELECT f.nome_funcionario, f.id_departamento, d.nome_departamento FROM funcionarios f, departamentos d WHERE f.id_departamento = d.id_departamento    I   ; 

 

Para que a consulta recupere todas as linhas da tabela funcionarios, mesmo que não haja correspondência na tabela departamentos, a lacuna I deve ser preenchida com o operador de join externa 

  1. (+)
  2. EXTERNAL JOIN
  3. (#)
  4. EXT
  5. WITH EXT OPTION
Mostrar resposta e comentário

Gabarito

A

Comentário do professor

O operador (+) é a sintaxe proprietária do Oracle para realizar um outer join na forma tradicional (cláusula WHERE).

Para recuperar todas as linhas de funcionarios mesmo sem correspondência em departamentos, o (+) deve ser colocado na expressão que referencia a coluna da tabela que pode não ter linha correspondente. Ex.:
SELECT f.nome_funcionario, f.id_departamento, d.nome_departamento
FROM funcionarios f, departamentos d
WHERE f.id_departamento = d.id_departamento (+);

Nesse caso o (+) indica um left outer join: a tabela à esquerda da condição (funcionarios) tem todas as linhas preservadas; a tabela à direita (departamentos) pode retornar NULL quando não houver correspondência. Essa forma é equivalente a usar LEFT OUTER JOIN com ON.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo