Pular para o conteúdo principal

Questão de Banco de Dados — Oracle — FCC 2015

Banco de DadosOracle
Código
fc025882
Banca
FCC
Órgão
TRT - 3ª Região (MG)
Ano
2015
Nível
Superior
Cargo
Analista Judiciário - Tecnologia da Informação
Considere uma tabela chamada emp em um banco de dados Oracle aberto e em condições ideais, que possui dentre os campos, nome (cadeia de caracteres), salario (valor real) e comissao (número real). Utilizando PL/SQL, neste caso, para exibir
  1. Aos dados de todos de todos os funcionários cujos nomes possuam a letra a como segundo caractere, utiliza-se a instrução SELECT * FROM emp WHERE nome LIKE '_a%';
  2. Bos dados dos funcionários cujo nome seja 'Pedro' ou 'Ana' utiliza-se a instrução SELECT * FROM emp WHERE nome LIKE ('Pedro','Ana');
  3. Cos dados de todos os funcionários cujo conteúdo do campo salario esteja entre 1000 e 2000 utiliza-se a instrução SELECT * FROM emp WHERE salario BETWEEN (1000,2000);
  4. Dos dados dos funcionários cujo conteúdo do campo nome tenha nos primeiros 4 caracteres a palavra 'Mari' utiliza-se a instrução SELECT * FROM emp WHERE SUBSTRING(nome,FIRST)= 'Mari';
  5. Eo nome e o salário do funcionário somado à comissão, considerando que o conteúdo de alguns campos comissao estão nulos, utiliza-se a instrução SELECT nome, salario+NIL(comissao) FROM emp;
Revelar gabarito e comentário

GabaritoA — os dados de todos de todos os funcionários cujos nomes possuam a letra a como segundo caractere, utiliza-se a instrução SELECT * FROM emp WHERE nome LIKE '_a%';

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”.

SQL: Operadores e funções em consultas Oracle

Gabarito: letra A. A unica alternativa sintaticamente correta é a que utiliza o operador LIKE com o padrão '_a%' para encontrar nomes cujo segundo caractere seja 'a'. As demais alternativas apresentam erros de sintaxe ou uso incorreto de funções/operadores do SQL Oracle.

A banca testa o conhecimento dos operadores LIKE, BETWEEN e das funções de tratamento de nulos (NVL) e substring (SUBSTR) no Oracle. Vamos analisar cada uma:

Alternativa A — ✅ Correta ⟵ GABARITO

SELECT * FROM emp WHERE nome LIKE '_a%'; O operador LIKE com o padrão '_a%' significa: o primeiro caractere pode ser qualquer um (_), o segundo deve ser 'a', e depois qualquer sequência de caracteres (%). Essa é a sintaxe correta para selecionar funcionários cujo nome tenha 'a' como segunda letra.

Alternativa B — ❌ Incorreta

SELECT * FROM emp WHERE nome LIKE ('Pedro','Ana'); O operador LIKE não aceita uma lista de valores entre parênteses. Para comparar com múltiplas strings, deve-se usar o operador IN ou combinar com OR. Exemplo correto: WHERE nome IN ('Pedro','Ana').

Alternativa C — ❌ Incorreta

SELECT * FROM emp WHERE salario BETWEEN (1000,2000); A sintaxe correta do operador BETWEEN utiliza a palavra AND, não vírgulas. O correto é: WHERE salario BETWEEN 1000 AND 2000.

Alternativa D — ❌ Incorreta

SELECT * FROM emp WHERE SUBSTRING(nome,FIRST)= 'Mari'; Não existe a função SUBSTRING no Oracle (o correto é SUBSTR). Além disso, FIRST não é uma palavra-chave válida. Para extrair os 4 primeiros caracteres, usa-se: WHERE SUBSTR(nome,1,4) = 'Mari'.

Alternativa E — ❌ Incorreta

SELECT nome, salario+NIL(comissao) FROM emp; A função NIL não existe no Oracle. Para tratar valores nulos em somas, utiliza-se NVL ou COALESCE. O correto seria: SELECT nome, salario + NVL(comissao, 0) FROM emp.

Gabarito: letra A

Link permanente: /questoes/fc025882