Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

RESOLUÇÃO EXERCÍCIO USANDO CURDATE()

SELECT NOME, DATANASCIMENTO, CPF
FROM TABELACLIENTES
WHERE YEAR(CURDATE()) - YEAR(DATANASCIMENTO) >= 18;

1 resposta

Olá, José Henrique! Como vai?

Parabéns pela resolução da atividade!

Vi que você explorou o SELECT com cláusula WHERE para filtrar clientes maiores de idade em SQL, utilizou muito bem a função YEAR combinada com CURDATE() para calcular a diferença de anos e ainda compreendeu a importância da condição lógica para garantir que apenas registros válidos sejam retornados.

Uma dica interessante para o futuro é refinar a consulta para considerar também o mês e o dia do nascimento, garantindo maior precisão no cálculo da idade. Assim:

SELECT NOME, DATANASCIMENTO, CPF
FROM TABELACLIENTES
WHERE TIMESTAMPDIFF(YEAR, DATANASCIMENTO, CURDATE()) >= 18;

Isso faz com que a verificação seja mais exata, evitando casos em que apenas a diferença de anos poderia gerar resultados incorretos.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Usar aliases: deixar os nomes das colunas mais claros no resultado.
  • Adicionar índices: melhorar a performance em consultas sobre datas.
  • Normalizar dados: garantir que campos como CPF e data estejam bem estruturados.

Continue postando as suas soluções! Além de ganhar pontos de XP na plataforma, você pode ajudar outros estudantes no fórum.

Ah, uma pergunta: o que você acha mais interessante evoluir neste código, deixar a consulta mais precisa com TIMESTAMPDIFF ou criar uma view que já traga apenas clientes maiores de idade para facilitar futuras análises?

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!