SELECT NOME, DATANASCIMENTO, CPF
FROM TABELACLIENTES
WHERE YEAR(CURDATE()) - YEAR(DATANASCIMENTO) >= 18;
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!
SELECT NOME, DATANASCIMENTO, CPF
FROM TABELACLIENTES
WHERE YEAR(CURDATE()) - YEAR(DATANASCIMENTO) >= 18;
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:
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!