Questão FC369468
Observe o script SQL a seguir. CREATE TABLE Pessoa (Nome varchar(255)); INSERT INTO Pessoa (Nome) VALUES ('Ana Luca'); INSERT INTO Pessoa (Nome) VALUES ('Antonio Silva'); INSERT IN
Linguagem SQL
FGV · 2024
Observe o script SQL a seguir.
CREATE TABLE Pessoa (Nome varchar(255));
INSERT INTO Pessoa (Nome)
VALUES ('Ana Luca');
INSERT INTO Pessoa (Nome)
VALUES ('Antonio Silva');
INSERT INTO Pessoa (Nome)
VALUES ('Tania Rosendo');
INSERT INTO Pessoa (Nome)
VALUES ('Rosa Flor');
INSERT INTO Pessoa (Nome)
VALUES ('Lara Bel');
SELECT * FROM Pessoa
WHERE (Nome LIKE 'A_A%'
OR Nome LIKE 'R%' /*OR Nome LIKE '%BEL'
OR Nome LIKE '%T%'*/ OR Nome LIKE '%F');
O resultado JSON da execução do script apresentado é:
- [{"Nome":"Ana Luca"},{"Nome":"Rosa Flor"}]
- [{"Nome":"Rosa Flor"},{"Nome":"Lara Bel"}]
- [{"Nome":"Ana Luca"},{"Nome":"Tania Rosendo"},{"Nome":"Lara Bel"}]
- [{"Nome":"Antonio Silva"},{"Nome":"Tania Rosendo"},{"Nome":"Rosa Flor"}]
- [{"Nome":"Ana Luca"},{"Nome":"Antonio Silva"},{"Nome":"Tania Rosendo"},{"Nome":"Lara Bel"}]
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
O resultado JSON é [{"Nome":"Ana Luca"},{"Nome":"Rosa Flor"}] porque a consulta usa o operador LIKE com curingas e há um comentário que elimina duas condições.
O curinga % representa zero ou mais caracteres e o _ representa exatamente um caractere. Assim, LIKE 'A_A%' encontra nomes que começam com "A", têm um caractere qualquer e em seguida "A" — corresponde a Ana Luca.
LIKE 'R%' busca nomes que começam com "R", correspondendo a Rosa Flor.
O trecho /* ... */ comenta OR Nome LIKE '%BEL' OR Nome LIKE '%T%', portanto esses filtros são ignorados e não trazem Lara Bel nem Antonio Silva.
Por fim, OR Nome LIKE '%F' (nomes terminando em "F") não encontra registros. Logo, sobram apenas os dois nomes acima, exibidos no formato JSON indicado.
Conteúdo do catálogo FC Concursos · Atualizado em