Questão nº 41

Questão de Tecnologia da Informação · FGV STN 2024 (nº 41)

FGV2024Auditor Federal de Finanças e Controle - Tecnologia da Informação (Operação e Infraestrutura)Tecnologia da Informação
Gabarito: Aver comentário ↓

No contexto da lógica de três estados, normalmente utilizada em expressões lógicas que envolvem valores nulos, considere uma tabela relacional T com colunas X, Y, Z, com apenas uma linha, cujos valores das colunas são, respectivamente, 10, 20 e null.
Assinale o comando que retornaria o valor 1 no resultado.

Resposta comentada

Gabarito Alternativa A

Em SQL, a lógica de três estados (ou três valores) significa que uma condição pode ser TRUE (verdadeira), FALSE (falsa) ou UNKNOWN (desconhecida), geralmente por causa do valor NULL (que representa um dado ausente ou desconhecido). A cláusula WHERE só retorna as linhas para as quais a condição avalia como TRUE.

A) Correta: A condição (Z is null or Z = null) é avaliada.

  • Z is null: Como Z é null, esta parte avalia como TRUE.
  • Z = null: Comparar null com null (ou qualquer outro valor) sempre resulta em UNKNOWN.
  • TRUE or UNKNOWN: Na lógica de três estados, TRUE ou qualquer coisa (incluindo UNKNOWN) resulta em TRUE.
  • Como a condição final é TRUE, a linha é retornada.

B) Incorreta: A condição not Z is null or Y = 15 é avaliada.

  • Z is null: Avalia como TRUE.
  • not Z is null: not TRUE avalia como FALSE.
  • Y = 15: 20 = 15 avalia como FALSE.
  • FALSE or FALSE: Avalia como FALSE.
  • Como a condição final é FALSE, a linha não é retornada.

C) Incorreta: A condição not Z is null or Z = null é avaliada.

  • Z is null: Avalia como TRUE.
  • not Z is null: not TRUE avalia como FALSE.
  • Z = null: Avalia como UNKNOWN.
  • FALSE or UNKNOWN: Na lógica de três estados, FALSE ou UNKNOWN resulta em UNKNOWN.
  • Armadilha da banca: Esta alternativa é muito parecida com a correta (A), mas a presença do NOT na primeira parte (not Z is null) muda o resultado. Enquanto Z is null é TRUE, not Z is null é FALSE. A armadilha é assumir que Z = null de alguma forma "resolveria" a condição, mas ele sempre resulta em UNKNOWN, e FALSE OR UNKNOWN ainda é UNKNOWN, não TRUE.
  • Como a condição final é UNKNOWN, a linha não é retornada.

D) Incorreta: A condição Z < X or Z > X é avaliada.

  • Z < X: null < 10 avalia como UNKNOWN.
  • Z > X: null > 10 avalia como UNKNOWN.
  • UNKNOWN or UNKNOWN: Avalia como UNKNOWN.
  • Como a condição final é UNKNOWN, a linha não é retornada.

E) Incorreta: A condição Z = null or Y <> null é avaliada.

  • Z = null: Avalia como UNKNOWN.
  • Y <> null: 20 <> null avalia como UNKNOWN.
  • UNKNOWN or UNKNOWN: Avalia como UNKNOWN.
  • Como a condição final é UNKNOWN, a linha não é retornada.

Fonte: FGV STN 2024 Auditor Federal de Finanças e Controle - Tecnologia da Informação (Operação e Infraestrutura) (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