Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — Quadrix 2025

Banco de DadosConsultas e Comandos em SQL
Código
qa699070
Banca
Quadrix
Órgão
CAU MA
Ano
2025
Cargo
Ass TI ( )
A empresa ArqUrban de São Luís‑MA, especializada em projetos de arquitetura e urbanismo, mantém um banco de dados para armazenar informações sobre projetos, clientes e equipes de trabalho. Foi solicitado a um técnico de TI que analisasse algumas consultas SQL básicas feitas por um estagiário e verificar se estão corretas para obter as informações desejadas. Com base nessa situação hipotética, julgue os itens seguintes.   O comando UPDATE clientes SET email = NULL WHERE nome = ‘Carlos Santos’; irá alterar o e‑mail do cliente para uma string vazia, indicando que o campo está em branco.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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

UPDATE e o valor NULL em SQL

Gabarito: ERRADO (letra E). O comando UPDATE clientes SET email = NULL WHERE nome = 'Carlos Santos'; atribui ao campo email o valor especial NULL (ausência de valor), e não uma string vazia (''). NULL e string vazia são conceitos distintos em SQL: NULL representa a ausência de informação, enquanto '' é um valor de texto de comprimento zero. A afirmação do item está incorreta ao confundir esses dois conceitos.

O comando UPDATE é um comando da sublinguagem DML (Data Manipulation Language), utilizado para modificar valores de registros existentes em uma tabela. Sua sintaxe básica é UPDATE nome_da_tabela SET coluna = valor WHERE condição;. No comando em questão, a cláusula SET email = NULL define o valor da coluna email como NULL para todos os registros que atendem à condição WHERE nome = 'Carlos Santos'. Isso significa que o campo email ficará sem valor, ou seja, com valor desconhecido/indefinido, e não com uma string vazia.

A distinção entre NULL e string vazia é fundamental em SQL e frequentemente cobrada em provas. NULL é um marcador especial que indica que o dado é desconhecido ou não existe; ele não é igual a zero, a um espaço em branco ou a uma string vazia. Operações com NULL geralmente resultam em NULL (por exemplo, NULL + 1 é NULL), e comparações com NULL usando = retornam desconhecido, não verdadeiro ou falso. Para verificar NULL, usa-se IS NULL ou IS NOT NULL. Já a string vazia ('') é um valor de texto válido, que pode ser comparado com = '' e armazenado em colunas do tipo caractere.

Na prática, se o objetivo fosse definir o e-mail como uma string vazia, o comando correto seria UPDATE clientes SET email = '' WHERE nome = 'Carlos Santos';. A diferença é sutil, mas crucial: NULL indica ausência de dado, enquanto '' indica um dado presente, porém vazio. Essa distinção afeta consultas, integridade referencial e lógica de aplicação.

A banca explora exatamente essa confusão conceitual: o candidato pode achar que NULL é equivalente a vazio ou a zero, mas em SQL são coisas diferentes. Guarde a regra: NULL ≠ string vazia ≠ 0. Essa é a pegadinha clássica em questões de SQL.

1NULL
Ausência de valor
Desconhecido/inexistente
Verifica com IS NULL
Operações resultam em NULL
2String vazia ('')
Valor de texto válido
Comprimento zero
Compara com = ''
3UPDATE
SET email = NULL → atribui NULL
SET email = '' → atribui string vazia
NULL vs string vazia
LEVELsoulevel.com.br
NULL vs string vazia: NULL (Ausência de valor, Desconhecido/inexistente, Verifica com IS NULL, Operações resultam em NULL); String vazia ('') (Valor de texto válido, Comprimento zero, Compara com = ''); UPDATE (SET email = NULL → atribui NULL, SET email = '' → atribui string vazia)

Item — ❌ Errado

A afirmação diz que o comando UPDATE clientes SET email = NULL WHERE nome = 'Carlos Santos'; irá alterar o e-mail para uma string vazia. Isso está errado, pois NULL é um valor especial que representa ausência de dado, não uma string vazia. O comando atribui NULL ao campo email, indicando que o valor é desconhecido ou inexistente. Para atribuir uma string vazia, seria necessário usar SET email = ''. Portanto, o item está incorreto.

Gabarito: letra E (ERRADO).

Link permanente: /questoes/qa699070