Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FCC 2017

Banco de DadosSQL
Código
fc036849
Banca
FCC
Órgão
DPE-RS
Ano
2017
Nível
Médio
Cargo
Técnico - Informática
Solicitou-se a um Técnico selecionar em um banco de dados padrão SQL todos os registros da tabela processo cujo conteúdo do campo cidade_origem não contenha os valores Brasília ou Campinas. Para isso, utilizou a instrução SELECT * FROM processo
  1. AWHEN cidade_origem NOT ('Brasília' OR 'Campinas');
  2. BWHERE cidade_origem NOT IN ('Brasília','Campinas');
  3. CLIKE cidade_origem IS NOT ('Brasília','Campinas');
  4. DWHERE cidade_origem NOT IN ('Brasília' OR 'Campinas');
  5. EWHERE cidade_origem IS NOT ('Brasília';'Campinas');
Revelar gabarito e comentário

GabaritoB — WHERE cidade_origem NOT IN ('Brasília','Campinas');

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

SQL: Operador NOT IN

Gabarito: letra B. A cláusula correta para selecionar registros cujo campo cidade_origem não contenha os valores 'Brasília' ou 'Campinas' é WHERE cidade_origem NOT IN ('Brasília','Campinas'). O operador NOT IN verifica se o valor da coluna não está presente na lista fornecida, sendo a sintaxe padrão SQL.

A questão testa o conhecimento da sintaxe correta do NOT IN e a diferença entre outros operadores (NOT, LIKE, IS NOT). O comando SELECT * FROM processo precisa ser completado com a cláusula WHERE adequada.

Alternativa A — ❌ Incorreta

A palavra WHEN é utilizada em expressões CASE, não como cláusula de filtro em SELECT. Além disso, NOT ('Brasília' OR 'Campinas') não é uma construção válida; o operador NOT não aceita uma lista com OR dessa forma.

Alternativa B — ✅ Correta ⟵ GABARITO

A sintaxe WHERE cidade_origem NOT IN ('Brasília','Campinas') está correta. O NOT IN recebe uma lista de valores separados por vírgula entre parênteses e retorna verdadeiro se o valor da coluna não for igual a nenhum deles.

Alternativa C — ❌ Incorreta

LIKE é usado para correspondência de padrões com curingas (%, _), e IS NOT é usado para testar valores nulos (IS NOT NULL) ou valores booleanos, não para uma lista. A construção LIKE cidade_origem IS NOT (...) é inválida.

Alternativa D — ❌ Incorreta

A lista dentro de NOT IN deve ser separada por vírgulas, e não pelo operador OR. O correto seria NOT IN ('Brasília','Campinas'). O uso de OR dentro de IN ou NOT IN é incorreto.

Alternativa E — ❌ Incorreta

IS NOT não aceita uma lista de valores. O correto seria NOT IN. Além disso, o separador ; (ponto e vírgula) não é utilizado em listas de valores;

PEGA ESSA DICA!

Para memorizar: IN e NOT IN sempre usam parênteses e vírgulas — (valor1, valor2, ...). Nunca use OR dentro deles. O NOT sozinho não serve para lista de valores.

Link permanente: /questoes/fc036849