FC ConcursosFC Concursos

Questão FC670747

O Conselho Regional de Medicina Veterinária do Estado de Goiás (CRMV‑GO) mantinha um banco de dados relacional denominado CRMV_GO, que registrava veterinários, especialidades, clín

Linguagem SQL

QUADRIX · 2025

O Conselho Regional de Medicina Veterinária do Estado de Goiás (CRMV‑GO) mantinha um banco de dados relacional denominado CRMV_GO, que registrava veterinários, especialidades, clínicas e atendimentos. As principais tabelas estão dispostas a seguir.

VETERINARIO (id_vet, nome, crmv, data_inscricao, id_especialidade, ativo) ESPECIALIDADE (id_especialidade, descricao) CLINICA (id_clinica, nome_clinica, cidade) ATENDIMENTO (id_atendimento, id_vet, id_clinica, data_atendimento, status)

Com base nessa situação hipotética e no uso do comando SELECT no banco de dados CRMV_GO, julgue o item seguinte.

O comando a seguir apresenta os veterinários que não têm especialidade cadastrada, considerando que o campo id_especialidade pode ser NULL. SELECT nome FROM VETERINARIO WHERE id_especialidade = NULL;

Mostrar resposta e comentário

Gabarito

Errado

Comentário do professor

A afirmação foi julgada ERRADO porque em SQL o valor NULL representa "desconhecido" e não pode ser comparado com os operadores relacionais comuns. A expressão \(id\_especialidade = NULL\) não é avaliada como verdadeira; em vez disso resulta em UNKNOWN na lógica trivalorada do SQL, e o filtro WHERE seleciona apenas as linhas cuja condição seja verdadeira. Assim, nenhuma linha será retornada com \(id\_especialidade = NULL\).

O modo correto de testar campos vazios é usar o operador específico IS NULL. Exemplo funcional:
SELECT nome FROM VETERINARIO WHERE id_especialidade IS NULL;

Para o oposto, use IS NOT NULL. Regra prática: sempre que aparecer NULL em enunciados de SQL, cheque se o avaliador usou IS ou IS NOT.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo