Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — FUNDATEC 2023

Banco de DadosConsultas e Comandos em SQL
Código
qa537516
Banca
FUNDATEC
Órgão
BRDE
Ano
2023
Cargo
Ana Sist ( )

Imagem associada para resolução da questão

Tabela AREA

 

Considerando a tabela apresentada na figura, quantos registros serão atualizados pelo comando SQL abaixo?

 

UPDATE AREA

SET ID_AREA_SUPERIOR = 5

WHERE ID_AREA_SUPERIOR BETWEEN 0 AND 3;

  1. A0
  2. B1
  3. C2
  4. D5
  5. E6
Revelar gabarito e comentário

GabaritoC — 2

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

Resolução

Gabarito: letra C — a conta chega a 2 registros — alternativa C.

A ideia por trás

O comando UPDATE é a instrução do SQL que modifica dados já existentes em uma tabela. Ele funciona em duas partes: primeiro define qual coluna será alterada e para qual valor, depois usa a cláusula WHERE para escolher exatamente quais linhas sofrerão a mudança. Sem o WHERE, todas as linhas seriam afetadas — por isso o filtro é o que decide o alcance da atualização.

A cláusula WHERE aceita condições que comparam valores das colunas. O operador BETWEEN é inclusivo: BETWEEN 0 AND 3 equivale a >= 0 AND <= 3, ou seja, aceita os valores 0, 1, 2 e 3. A quantidade de registros atualizados é o número de linhas da tabela que satisfazem essa condição — não o número de valores possíveis no intervalo.

Esta questão testa justamente a interpretação do BETWEEN e a contagem correta das linhas existentes na tabela. É preciso olhar os dados e ver quais valores de ID_AREA_SUPERIOR realmente aparecem dentro do intervalo.

O que a questão dá

  • tabela AREA com colunas ID_AREA e ID_AREA_SUPERIOR

  • 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

Passo 1 — Entender o filtro do WHERE

Antes de contar qualquer coisa, precisamos saber exatamente quais valores a condição aceita. O BETWEEN é inclusivo, então o intervalo fechado [0, 3] inclui 0, 1, 2 e 3. Isso define o critério que vamos usar para examinar a tabela.

Por que esta fórmula: Não há fórmula; é a definição do operador BETWEEN: BETWEEN a AND b equivale a >= a AND <= b.

valores aceitos: 0, 1, 2, 3

NÃO CAIA NESSA!

Pensar que BETWEEN 0 AND 3 inclui apenas 0 e 3, confundindo com IN (0,3).

Passo 2 — Percorrer a tabela e contar as linhas que atendem

Agora que sabemos o critério, olhamos a tabela AREA e verificamos, linha por linha, o valor de ID_AREA_SUPERIOR. Só as linhas com valor 0, 1, 2 ou 3 serão atualizadas.

Por que esta fórmula: Não há fórmula; é uma contagem direta dos dados.

2linhas(IDAREASUPERIOR=1e2 )2 linhas (ID_AREA_SUPERIOR = \boxed{1 e 2\ )}
NÃO CAIA NESSA!

Contar os valores possíveis do intervalo (4) em vez das linhas existentes; ou esquecer que o valor 0 não aparece na tabela.

Resposta: 2 registros — alternativa C

Link permanente: /questoes/qa537516