Criação de View com Agregação no Oracle PL/SQL
Gabarito: letra E. A instrução CREATE VIEW apresentada é sintaticamente correta; ela cria uma view que exibe, por departamento, o nome do departamento e os valores mínimo, máximo e médio dos salários dos empregados, utilizando junção (JOIN), GROUP BY e funções agregadas (MIN, MAX, AVG).
A banca testa o conhecimento sobre a sintaxe de criação de views no Oracle PL/SQL, especialmente em relação a:
Possibilidade de uso de múltiplas tabelas na consulta (via junção).
Permissão do uso de cláusulas como GROUP BY e funções agregadas.
Local correto para definir apelidos das colunas da view.
Nome da função de média (AVG, não MED).
Alternativa A — ❌ Incorreta
Afirma que não é possível criar view a partir de duas ou mais tabelas. É plenamente possível: uma view pode ser baseada em qualquer consulta SELECT válida, incluindo junções entre tabelas.
Alternativa B — ❌ Incorreta
Afirma que a subconsulta que define a view não pode conter GROUP BY. Não procede: GROUP BY é perfeitamente permitido em views, sendo útil para resumir dados.
Alternativa C — ❌ Incorreta
Diz que os apelidos definidos após CREATE VIEW não serão aplicados, e que deveriam estar na subconsulta. A sintaxe está correta: a cláusula CREATE VIEW valores (nome, minsal, maxsal, medsal) define os nomes das colunas da view, e esses nomes substituirão os nomes derivados da consulta. A forma alternativa seria colocar aliases na própria SELECT, mas a forma apresentada é igualmente válida.
Alternativa D — ❌ Incorreta
Afirma que a função para obter a média é MED e não AVG. A função correta é AVG (abreviação de average). MED não é uma função agregada padrão do Oracle SQL.
Alternativa E — ✅ Correta ⟵ GABARITO
A instrução está correta: a view será criada com sucesso, exibindo, para cada departamento, o nome (d.depnome) e os valores mínimo (MIN(e.sal)), máximo (MAX(e.sal)) e médio (AVG(e.sal)) dos salários dos empregados daquele departamento, agrupados por d.depnome.
Gabarito: letra E