Com base no comando SQL abaixo assinale a alternativa que tenha a interpretação técnica correta: DELETE FROM func WHERE tipo IN (‘X’,’Y’):
- A)apaga registros de uma tabela tipo que contenha no campo func caracteres iguais a ‘X’ e ‘Y’
Errada, porque inverte tabela e coluna e ainda sugere apagar registros de uma tabela tipo, o que nao existe no comando apresentado.
- B)apaga registros de uma tabela func que contenha no campo tipo caracteres iguais a ‘X’ e ‘Y’
Certa, pois o comando apaga registros da tabela func cujo valor da coluna tipo esteja entre 'X' e 'Y'.
- C)apaga o campo tipo nos registros de uma tabela func que contenham os caracteres iguais a ‘X’ e ‘Y’
Errada, porque DELETE nao apaga apenas o campo tipo, e sim a linha inteira que satisfaz a condicao.
- D)apaga o campo func nos registros de uma tabela tipo que contenham os caracteres iguais a ‘X’ e ‘Y’
Errada, porque troca os nomes da tabela e da coluna e ainda fala em apagar campo, o que nao corresponde ao comando.
- E)apaga qualquer registro de uma tabela func que contenha o campo tipo com caracteres iguais a ‘XY’
Errada, porque IN ('X','Y') nao significa o texto 'XY', e sim duas possibilidades separadas: 'X' ou 'Y'.
Gabarito: B
O comando DELETE serve para apagar linhas inteiras de uma tabela, e nao apenas “tirar um pedacinho” do registro. No SQL dado, a ideia e simples: a tabela chama-se func e o filtro esta na coluna tipo. Ou seja, o banco vai excluir os registros da tabela func em que o valor de tipo seja 'X' ou 'Y'. O operador IN e usado justamente para abreviar varias comparacoes com OR. Entao, WHERE tipo IN ('X','Y') significa o mesmo que WHERE tipo = 'X' OR tipo = 'Y'. Isso torna a leitura mais limpa e evita repeticao desnecessaria. Por isso o gabarito B esta correto: ele descreve a exclusao de registros da tabela func com valores da coluna tipo iguais a X e Y. Em prova, fique atento porque DELETE nao apaga coluna, nao apaga tabela inteira e nao altera o conteudo de um campo isoladamente. Se fosse isso, apareceriam comandos como DROP ou ALTER, nao DELETE. Resumo de prova: DELETE apaga linhas; WHERE define quais linhas; IN indica uma lista de valores possiveis. Aqui, o alvo e a tabela func, com filtro na coluna tipo.