Pular para o conteúdo principal

Questão de Banco de Dados — PL-SQL — FCC 2018

Banco de DadosPL-SQL
Código
fc045902
Banca
FCC
Órgão
MPE-PE
Ano
2018
Cargo
Analista Ministerial - Informática
O sistema gerenciador de bancos de dados Oracle 12c possui a função GREATEST, inserida no seguinte comando do PLSQL:SELECT GREATEST ('Olavo', 'Pedro', 'Silvio', 'Armando');Tal comando tem como resultado
  1. AArmando
  2. BArmandoSilvioPedroOlavo
  3. CNULL
  4. DArmandoOlavoPedroSilvio
  5. ESilvio
Revelar gabarito e comentário

GabaritoE — Silvio

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Função GREATEST no Oracle

Gabarito: letra E. A função GREATEST retorna o maior valor dentre os argumentos fornecidos, conforme comparação lexicográfica (ordem alfabética) para strings. Na lista 'Olavo', 'Pedro', 'Silvio', 'Armando', a ordem alfabética crescente é: 'Armando', 'Olavo', 'Pedro', 'Silvio'. Portanto, o maior é 'Silvio'.

O Oracle 12c compara strings caractere por caractere, baseando-se na ordem de collation (por padrão, binária ou linguística dependendo da configuração). O resultado é sempre um único valor — o máximo do conjunto — e não uma lista ordenada.

Alternativa A — ❌ Incorreta

'Armando' é o menor valor lexicográfico, não o maior. A banca pode induzir o candidato a confundir GREATEST com LEAST (que retorna o menor).

Alternativa B — ❌ Incorreta

Exibe os nomes em ordem crescente (um por linha). GREATEST não retorna múltiplas linhas nem ordena a lista: retorna um único valor.

Alternativa C — ❌ Incorreta

NULL só seria retornado se todos os argumentos fossem NULL ou se a lista estivesse vazia. Como há quatro strings não nulas, o resultado é uma string não nula.

Alternativa D — ❌ Incorreta

Assim como a B, apresenta uma lista (agora em ordem decrescente). GREATEST não produz saída multivalorada.

Alternativa E — ✅ Correta ⟵ GABARITO

'Silvio' é o último termo na ordenação alfabética crescente, portanto o maior. A função GREATEST é frequentemente usada em expressões SQL para obter o máximo entre colunas ou valores literais.

NÃO CAIA NESSA!

O candidato pode pensar em ordem alfabética inversa (A como maior) ou confundir com a função LEAST. GREATEST sempre retorna o último na ordem crescente padrão. Treine com exemplos: GREATEST('a','b')'b'; GREATEST('10','2')'2' (comparação textual, não numérica).

Gabarito: letra E'Silvio'.

Link permanente: /questoes/fc045902