1
resposta

Resolução Exercício - Filtrando clientes por localização e CPF

SELECT
    c.Nome AS nome
,	c.CPF AS cpf
,	c.Cidade AS cidade
,	c.Estado AS estado
FROM tabelaclientes AS c
WHERE 1=1
AND (c.Cidade = 'Rio de Janeiro' OR c.Cidade = 'Salvador')
AND c.CPF LIKE '6%'
;

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Carlos. Como vai?

Excelente resolução! Você aplicou conceitos fundamentais de lógica booleana e filtragem de padrões que são vitais para qualquer Tech Lead ou Engenheiro de Dados. Seu código mantém o padrão de alta legibilidade que você já demonstrou em outros exercícios.

Gostaria de destacar dois pontos técnicos muito importantes na sua solução:

  • Precedência com Parênteses: Este é o ponto alto do seu script. Ao isolar o OR entre parênteses, você garantiu que o banco de dados trate as cidades como um bloco único de condição. Sem os parênteses, a lógica poderia ser mal interpretada, priorizando o AND e trazendo resultados incorretos.
  • Operador LIKE com Curinga: O uso de LIKE '6%' é a maneira mais eficiente de filtrar CPFs que começam com um dígito específico. O símbolo % funciona como um curinga, representando qualquer sequência de caracteres após o número 6.

Como você já está habituado a usar boas práticas, uma alternativa para deixar a linha de filtragem de cidades ainda mais concisa seria substituir o OR pelo operador IN, que você utilizou em resoluções anteriores: AND c.Cidade IN ('Rio de Janeiro', 'Salvador').

A imagem dos resultados no seu editor de SQL mostra claramente que o filtro funcionou perfeitamente, retornando apenas o registro que atende a todos os critérios geográficos e de padrão numérico simultaneamente.

Continue com esse rigor técnico, Carlos! Sua organização serve de excelente exemplo para a comunidade.

Espero que possa ter lhe ajudado!