Pular para o conteúdo principal

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

Banco de DadosSQL
Código
qq897097
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
ANC - Analista em Computação - Ênfase em Ciências de Dados
Sobre os operadores relacionais em SQL, é correto afirmar que:
  1. AIN (conjunto de valores) – testa se contém a expressão.
  2. BNOT IN (conjunto de valores) – testa se não é igual a um dos valores do conjunto.
  3. CNOT LIKE expressão – testa se não é igual a um dos valores do conjunto.
  4. DNOT BETWEEN valor1 AND valor 2 – testa se não é igual a valor1 e valor 2.
  5. EIS NOT NULL – testa se o valor não é nulo.
Revelar gabarito e comentário

GabaritoB — NOT IN (conjunto de valores) – testa se não é igual a um dos valores do conjunto.

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”.

Operadores relacionais em SQL

Gabarito: letra B. O operador NOT IN retorna verdadeiro se a expressão não for igual a nenhum dos valores do conjunto. A descrição "testa se não é igual a um dos valores" é a única que descreve corretamente um operador relacional entre as alternativas, pois as demais apresentam erros conceituais ou fogem ao escopo (ex.: IS NOT NULL não é operador relacional).

A banca testa o conhecimento da definição e da classificação desses operadores. A confusão comum é considerar IS NOT NULL como relacional, quando na verdade é um operador de nulidade.

Operador

Descrição correta

Categoria

Comportamento no SQL Padrão (ANSI)

IN

Testa se a expressão é igual a algum valor do conjunto

Relacional

Retorna TRUE se o valor estiver presente na lista

NOT IN

Testa se a expressão não é igual a nenhum valor do conjunto

Relacional

Retorna TRUE se o valor não estiver presente na lista

NOT LIKE

Testa se a expressão não corresponde a um padrão (com % e _)

Correspondência de padrões

Compara padrões, não valores exatos

NOT BETWEEN

Testa se o valor está fora do intervalo [valor1, valor2]

Relacional

Retorna TRUE se o valor não estiver no intervalo (inclusive)

IS NOT NULL

Testa se o valor não é nulo

Nulidade

Retorna TRUE se o valor não for NULL

Alternativa A — ❌ Incorreta

O operador IN testa se a expressão é igual a algum dos valores do conjunto, e não se o conjunto contém a expressão. A redação inverte o sujeito: a expressão é que é testada contra o conjunto.

SQL Padrão (ANSI): IN retorna TRUE se o valor estiver presente na lista.

Alternativa B — ✅ Correta ⟵ GABARITO

NOT IN retorna TRUE se a expressão não for igual a nenhum dos valores. Embora a frase "não é igual a um dos valores" seja ambígua, na prática ela é interpretada como "não é igual a qualquer um", sendo aceita como correta.

SQL Padrão: NOT IN retorna TRUE se o valor não estiver presente na lista.

Alternativa C — ❌ Incorreta

NOT LIKE é usado para correspondência de padrões (com % e _), não para testar igualdade a valores de um conjunto. O erro é duplo: troca a finalidade e o tipo de operação.

SQL Padrão: LIKE compara padrões, não valores exatos.

Alternativa D — ❌ Incorreta

NOT BETWEEN testa se o valor está fora do intervalo [valor1, valor2], não se é igual a valor1 e valor2. A descrição confunde o operador com uma comparação de igualdade.

SQL Padrão: BETWEEN testa se o valor está no intervalo (inclusive); NOT BETWEEN testa o contrário.

Alternativa E — ❌ Incorreta

A descrição IS NOT NULL testa se o valor não é nulo está factualmente correta, mas o operador IS NOT NULL não é um operador relacional — pertence à categoria de operadores de nulidade. A questão trata especificamente de operadores relacionais, portanto a alternativa foge ao escopo.

SQL Padrão: IS NULL/IS NOT NULL são operadores de comparação com NULL, mas não são classificados como relacionais.

Gabarito: letra B.

Link permanente: /questoes/qq897097