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
- (+)
- EXTERNAL JOIN
- (#)
- EXT
- 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