Questão nº 36

Questão de Tecnologia da Informação · FCC TRE-PR 2017 (nº 36)

FCC2017Técnico Judiciário - Área Apoio Especializado - Especialidade Programação de SistemasTecnologia da Informação
Gabarito: Aver comentário ↓

Em um banco de dados aberto e em condições ideais, uma tabela chamada processo possui os registros abaixo.

Figura da questão de Tecnologia da Informação

Ao ser digitado um comando SQL, foi exibido na tela.

Figura da questão de Tecnologia da Informação

O comando digitado foi:

Resposta comentada

Gabarito Alternativa A

A cláusula BETWEEN em SQL é usada para selecionar valores que estão dentro de um intervalo específico, incluindo os valores de início e fim do intervalo.

  • (A) Correta: O comando SELECT * FROM processo WHERE DataAbertura BETWEEN '2016-03-01' AND '2016-03-30'; seleciona todas as colunas (*) da tabela processo onde a coluna DataAbertura está entre '2016-03-01' e '2016-03-30', incluindo ambas as datas. Isso corresponde exatamente aos registros exibidos na tela.
  • (B) Incorreta: A sintaxe para a cláusula BETWEEN é BETWEEN valor1 AND valor2, e não BETWEEN (valor1, valor2). O uso de parênteses para agrupar os valores é um erro de sintaxe.
  • (C) Incorreta: O comando SELECT * FROM processo WHERE DataAbertura>='2016-03-01' OR DataAbertura<='2016-03-30'; usaria o operador lógico OR. Isso faria com que todos os registros fossem retornados, pois qualquer data será maior ou igual a '2016-03-01' OU menor ou igual a '2016-03-30'. Para definir um intervalo, o correto seria usar AND em vez de OR. Armadilha: O uso incorreto de OR em vez de AND para delimitar um intervalo é um erro comum que expande o resultado para além do esperado.
  • (D) Incorreta: A cláusula IN é usada para verificar se um valor corresponde a qualquer valor em uma lista de valores explícitos (ex: IN ('valor1', 'valor2')). A sintaxe IN ('2016-03-20' AND '2016-03-30') está incorreta, pois AND é um operador lógico e não um separador de lista para IN. Mesmo que a sintaxe fosse IN ('2016-03-20', '2016-03-30'), ele selecionaria apenas os processos com essas duas datas específicas, não o intervalo completo.
  • (E) Incorreta: O comando SELECT * FROM processo WHERE DataAbertura>'2016-03-20' AND DataAbertura<'2016-03-30'; usa operadores de comparação estritos (> e <), o que significa que as datas '2016-03-20' e '2016-03-30' seriam excluídas do resultado. Além disso, o intervalo de datas especificado ('2016-03-21' até '2016-03-29') não corresponde ao resultado esperado, que começa em '2016-03-01' e inclui as datas limites.

Fonte: FCC TRE-PR 2017 Técnico Judiciário - Área Apoio Especializado - Especialidade Programação de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho