Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FUNDATEC 2023

Banco de DadosSQL
Código
qq893507
Banca
FUNDATEC
Órgão
IF Farroupilha - RS
Ano
2023
Nível
Médio
Cargo
Técnico de Tecnologia da Informação
Sobre a linguagem SQL, um campo com valor nulo é um campo sem valor (vazio). Qual das alternativas apresenta uma sintaxe correta de verificação de nulidade de um campo?
  1. ASELECT <column_names>FROM <table_name>WHERE NOT NULL (<column_name>);
  2. BSELECT <column_names>FROM <table_name>WHERE <column_name>= NULL;
  3. CSELECT <column_names>FROM <table_name>WHERE <column_name> <> 0 AND <column_name> <> '';
  4. DSELECT <column_names>FROM <table_name>WHERE NULL (<column_name>) = 1;
  5. ESELECT <column_names>FROM <table_name>WHERE <column_name> IS NULL;
Revelar gabarito e comentário

GabaritoE — SELECT <column_names> FROM <table_name> WHERE <column_name> IS NULL;

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Verificação de valores nulos em SQL

Gabarito: letra E. A única sintaxe correta para verificar se um campo é nulo em SQL é utilizando IS NULL. Comparações com operadores comuns (=, <>, etc.) retornam UNKNOWN (lógica de três valores) e não são efetivas. As demais alternativas apresentam construções inválidas ou ineficazes.

A linguagem SQL utiliza uma lógica de três valores (TRUE, FALSE, UNKNOWN). Valores NULL não são iguais a nada, inclusive a outro NULL. Portanto, a comparação correta é feita com os operadores IS NULL ou IS NOT NULL. O contexto fornecido reforça: "A comparação com NULL não deve ser feita com os operadores lógicos = ou <>, mas sim com IS NULL e IS NOT NULL. Ao comparar qualquer coisa com NULL usando os operadores lógicos comuns, será retornado um resultado desconhecido na comparação (UNKNOWN) e, por isso, não serão retornadas linhas."

Alternativa A — ❌ Incorreta

A função NOT NULL() não existe na cláusula WHERE. NOT NULL é usado em definições de coluna (constraint), não para filtrar linhas. A sintaxe correta seria WHERE <column_name> IS NOT NULL.

Alternativa B — ❌ Incorreta

O operador = não funciona com NULL. Qualquer comparação com NULL usando =, <>, <, > resulta em UNKNOWN, e a linha não é retornada. O correto é IS NULL.

Alternativa C — ❌ Incorreta

Embora <> 0 AND <> '' teste valores vazios ou zero, isso não abrange NULL. Um campo NULL não é igual a 0 nem a string vazia, mas a condição <> 0 não captura NULL, pois a comparação com NULL produz UNKNOWN, e a linha não é incluída no resultado.

Alternativa D — ❌ Incorreta

Não existe função NULL() na SQL padrão para ser usada na cláusula WHERE. A sintaxe é inválida. O correto é WHERE <column_name> IS NULL.

Alternativa E — ✅ Correta

A sintaxe WHERE <column_name> IS NULL é a forma padrão e correta de verificar se um campo é nulo. O operador IS NULL é específico para testar nullidade e funciona com a lógica de três valores, retornando TRUE apenas quando o valor é NULL.

Gabarito: letra E.

Link permanente: /questoes/qq893507