SóProvas


ID
1990540
Banca
FCC
Órgão
ELETROBRAS-ELETROSUL
Ano
2016
Provas
Disciplina
Banco de Dados
Assuntos

Considere as instruções Oracle PL/SQL abaixo.

I. SELECT sobrenome, id, salario FROM funcionarios WHERE id IN ('SA_REP';'ST_CLERK') AND salario NOT IN (2000; 3000; 5000);

II. SELECT id, sobrenome, salario, ROUND(salario * 1.155, 0) "Novo Salário", ROUND(salario * 1.155, 0) - salario "Aumento" FROM funcionarios;

III. SELECT sobrenome, LPAD(salario, 15, '$') Salário FROM funcionarios;

IV. SELECT id, CASE id WHEN 'ST-CLERK' THEN 'E' WHEN 'SA_REP' THEN 'D' WHEN 'ST_MAN' THEN 'C' ELSE '0' END_CASE FROM funcionarios;

Considerando a existência da tabela funcionarios com os campos id (PK), nome, sobrenome e salario em um banco de dados aberto e em condições ideais, a sintaxe das instruções está correta APENAS nos itens

Alternativas
Comentários
  • I) ERRADA. Não se usa ; no IN. Deve-se usar ,
    II) CORRETA. Atenção para as " " ao invés de '  ' no alias do select
    III) CORRETA. a função LPAD vai preencher a esquerda com o caracter $ até que a palavra tenha 15 caracteres.
    IV) ERRADA. Não é END_CASE e sim somente END

  • Valeu Rosana

  • Não é necessário usar o AS para criar o alias. Por exemplo, as duas formas abaixo são equivalentes:
    SELECT ROUND(salario * 1.155, 0) Salário FROM funcionarios
    SELECT ROUND(salario * 1.155, 0) AS "Salário" FROM funcionarios

    Mas se tiver espaço no alias, é preciso colocar as aspas. Por exemplo:

    SELECT ROUND(salario * 1.155, 0) "Salário dos funcionários" FROM funcionarios
    SELECT ROUND(salario * 1.155, 0) AS "Salário dos funcionários" FROM funcionarios

  • ; delimita fim de código