Questão nº 60

Questão de Análise de Dados · FGV TCU 2021 (nº 60)

FGV2021Auditor Federal de Controle Externo - Área Controle Externo (AUFC-CE)Análise de Dados
Gabarito: Aver comentário ↓

ATENÇÃO!

Nas próximas três questões, considere as tabelas de banco de dados T, TX e DUAL, exibidas com suas respectivas instâncias a seguir.

Figura da questão de Análise de Dados


Analise os cinco comandos SQL exibidos abaixo, utilizando a tabela DUAL apresentada anteriormente.

(1) select * from dual where x = null
(2) select * from dual where x <> null
(3) select * from dual where x > 10
(4) select * from dual where not x > 10
(5) select * from dual where x > 10 union select * from dual where x <= 10

Se os resultados desses comandos fossem separados em grupos homogêneos, de modo que em cada grupo todos sejam idênticos e distintos dos elementos dos demais grupos, haveria:

Resposta comentada

Gabarito Alternativa A

Em SQL, NULL representa um valor desconhecido ou ausente, não sendo igual a zero, uma string vazia ou qualquer outro valor. Por isso, qualquer comparação direta com NULL (usando operadores como =, <>, >, <, etc.) resulta em UNKNOWN (desconhecido), e a cláusula WHERE só retorna linhas onde a condição é TRUE.

  • (A) Correta: Todos os comandos SQL retornam um conjunto vazio (0 linhas).

    • (1) select * from dual where x = null: A comparação NULL = NULL resulta em UNKNOWN. A cláusula WHERE não considera UNKNOWN como TRUE, então nenhuma linha é retornada.
    • (2) select * from dual where x <> null: A comparação NULL <> NULL também resulta em UNKNOWN. Nenhuma linha é retornada.
    • (3) select * from dual where x > 10: A comparação NULL > 10 resulta em UNKNOWN. Nenhuma linha é retornada.
    • (4) select * from dual where not x > 10: Primeiro, x > 10 (ou NULL > 10) resulta em UNKNOWN. Em seguida, NOT UNKNOWN ainda é UNKNOWN. Nenhuma linha é retornada.
    • (5) select * from dual where x > 10 union select * from dual where x <= 10: A primeira parte (x > 10) retorna 0 linhas (pois NULL > 10 é UNKNOWN). A segunda parte (x <= 10) também retorna 0 linhas (pois NULL <= 10 é UNKNOWN). A união de dois conjuntos vazios é um conjunto vazio.
    • Como todos os cinco comandos resultam em um conjunto vazio, eles são idênticos e formam apenas um grupo homogêneo.
  • (B) Incorreta: Todos os comandos produzem o mesmo resultado (conjunto vazio), portanto, não há dois grupos distintos.

  • (C) Incorreta: Todos os comandos produzem o mesmo resultado (conjunto vazio), portanto, não há três grupos distintos.

  • (D) Incorreta: Todos os comandos produzem o mesmo resultado (conjunto vazio), portanto, não há quatro grupos distintos.

  • (E) Incorreta: Todos os comandos produzem o mesmo resultado (conjunto vazio), portanto, não há cinco grupos distintos.

Fonte: FGV TCU 2021 Auditor Federal de Controle Externo - Área Controle Externo (AUFC-CE) (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