Questão nº 60
Questão de Análise de Dados · FGV TCU 2021 (nº 60)
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.
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:
- Aapenas um grupo (alternativa correta)
- Bapenas dois grupos
- Capenas três grupos
- Dapenas quatro grupos
- Ecinco grupos
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çãoNULL = NULLresulta emUNKNOWN. A cláusulaWHEREnão consideraUNKNOWNcomoTRUE, então nenhuma linha é retornada. - (2)
select * from dual where x <> null: A comparaçãoNULL <> NULLtambém resulta emUNKNOWN. Nenhuma linha é retornada. - (3)
select * from dual where x > 10: A comparaçãoNULL > 10resulta emUNKNOWN. Nenhuma linha é retornada. - (4)
select * from dual where not x > 10: Primeiro,x > 10(ouNULL > 10) resulta emUNKNOWN. Em seguida,NOT UNKNOWNainda é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 (poisNULL > 10éUNKNOWN). A segunda parte (x <= 10) também retorna 0 linhas (poisNULL <= 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.
- (1)
-
(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.
