Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FUNDATEC 2023

Banco de DadosSQL
Código
qq890488
Banca
FUNDATEC
Órgão
CIGA-SC
Ano
2023
Nível
Superior
Cargo
Analista de Sistemas
Considerando a tabela PRODUTO, apresentada na Figura 2, quantos registros serão excluídos pelo comando SQL abaixo?Imagem associada para resolução da questão
  1. A0
  2. B2
  3. C3
  4. D4
  5. E6
Revelar gabarito e comentário

GabaritoB — 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 B — a conta chega a 2 registros — alternativa B.

A ideia por trás

O comando DELETE é a instrução do SQL usada para remover linhas de uma tabela. Ele faz parte da sublinguagem DML (Data Manipulation Language), que cuida de consultar e modificar dados. A cláusula WHERE é o filtro que decide quais linhas serão apagadas: apenas aquelas que atendem à condição especificada. Sem WHERE, o comando apagaria todas as linhas da tabela, o que quase nunca é o que se quer.

A condição WHERE ID IN (2, 4) é uma forma de dizer 'o ID é 2 ou o ID é 4'. O comando DELETE remove exatamente as linhas que satisfazem essa condição. A quantidade de registros excluídos é igual ao número de linhas da tabela que têm ID 2 ou ID 4. Se a tabela tem 6 registros com IDs de 1 a 6, apenas os de ID 2 e 4 serão apagados, sobrando os demais.

Esta questão cobra a interpretação da cláusula WHERE em um comando DELETE. O passo decisivo é contar quantas linhas da tabela atendem à condição, sem se confundir com outros comandos como DROP ou TRUNCATE.

O que a questão dá

  • tabela PRODUTO com registros de ID 1 a 6

  • comando DELETE com condição WHERE ID IN (2, 4)

O que queremos: quantos registros serão excluídos pelo comando DELETE

Passo 1 — Listar os IDs que o filtro seleciona

O comando DELETE só apaga as linhas que passam no filtro do WHERE. Antes de contar, precisamos saber exatamente quais IDs estão na lista. A condição WHERE ID IN (2, 4) significa que o ID deve ser 2 ou 4.

IDs2e4\boxed{\text{IDs} 2 \text{e} 4}
NÃO CAIA NESSA!

Confundir IN com NOT IN: IN seleciona os IDs listados, NOT IN seleciona todos os outros.

Passo 2 — Contar os registros que atendem à condição

Agora que sabemos quais IDs estão na lista, olhamos para a tabela PRODUTO e contamos quantas linhas têm ID igual a 2 ou 4. A tabela tem registros com IDs 1, 2, 3, 4, 5 e 6, então apenas os de ID 2 e 4 são atingidos.

2 registros\boxed{2\ \text{registros}}
NÃO CAIA NESSA!

Contar todos os registros da tabela (6) em vez de apenas os que satisfazem a condição.

Resposta: 2 registros — alternativa B

Link permanente: /questoes/qq890488