Questão de Banco de Dados — SQL — FUNDATEC 2023
- Código
- qq890174
- Banca
- FUNDATEC
- Órgão
- BRDE
- Ano
- 2023
- Nível
- Superior
- Cargo
- Analista de Sistemas - Desenvolvimento de Sistemas

- A0
- B1
- C2
- D5
- E6

GabaritoC — 2
Gabarito: letra C — a conta chega a 2 registros — alternativa C.
O comando UPDATE é a instrução do SQL que modifica dados já existentes em uma tabela. Ele funciona em duas partes: primeiro define o novo valor com SET, depois decide quais linhas serão afetadas com WHERE. A cláusula WHERE é o filtro que seleciona as linhas — só as que passam no filtro são alteradas; as outras ficam intactas.
O operador BETWEEN é inclusivo: BETWEEN 0 AND 3 significa valores maiores ou iguais a 0 e menores ou iguais a 3, ou seja, 0, 1, 2 e 3. É equivalente a escrever ID_AREA_SUPERIOR >= 0 AND ID_AREA_SUPERIOR <= 3. O WHERE é avaliado sobre os valores atuais da tabela, antes de qualquer mudança — o SET só é aplicado depois, nas linhas que passaram no filtro.
Esta questão cobra exatamente a leitura da condição do WHERE: é preciso contar quantas linhas da tabela têm ID_AREA_SUPERIOR dentro do intervalo fechado de 0 a 3, sem se confundir com o novo valor 5 do SET.
tabela AREA com 6 registros
valores de ID_AREA_SUPERIOR: 0, 3, 5, 5, 5, 5
comando: UPDATE AREA SET ID_AREA_SUPERIOR = 5 WHERE ID_AREA_SUPERIOR BETWEEN 0 AND 3
O que queremos: quantos registros serão atualizados pelo comando
O WHERE compara o valor atual de cada linha com o intervalo. Para saber quantas linhas serão atualizadas, precisamos primeiro ver quais valores existem na coluna ID_AREA_SUPERIOR antes de qualquer mudança.
Esquecer de olhar a tabela e tentar adivinhar os valores — a contagem depende dos dados reais.
Agora que temos os valores, precisamos decidir quais satisfazem a condição. O BETWEEN é inclusivo, então entram os valores 0, 1, 2 e 3 — mas só os que existem na tabela contam.
Por que esta fórmula: BETWEEN 0 AND 3 é a condição do WHERE; ela seleciona linhas com valor entre 0 e 3, incluindo os extremos.
De onde vem cada valor: = enunciado: limite inferior do BETWEEN · = enunciado: limite superior do BETWEEN
Achar que BETWEEN é exclusivo e excluir os extremos — aí contaria só 0 ou só 3, errando a resposta.
Cada linha que passou no filtro será atualizada. Contar quantas são dá o número de registros afetados pelo UPDATE.
Contar também as linhas com valor 5, achando que o SET altera a seleção — o WHERE é avaliado antes, sobre os valores originais.
Resposta: 2 registros — alternativa C
Link permanente: /questoes/qq890174