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

- A0
- B2
- C3
- D4
- E6

GabaritoB — 2
Gabarito: letra B — a conta chega a 2 registros — alternativa B.
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.
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
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.
Confundir IN com NOT IN: IN seleciona os IDs listados, NOT IN seleciona todos os outros.
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.
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