Oi Fernanda,
Na primeira vez que fiz o meu código também tinha feito o mesmo código que o seu e tinha notado a mesma diferença quando executei o código do instrutor. Olhando com mais calma, percebi que na maneira inicial como fizemos, o código só está considerando o ano. Por exemplo, para o cliente Julia Costa, o código só está fazendo o ano de 2025 menos o ano de 1985. No código do instrutor, além de olhar o ano ele também está olhando o mês, como se fosse uma condição de verdadeiro ou falso. Então se o mês atual for menor que o mês da data de nascimento, isso é verdadeiro e ele tira 1 da diferença de ano calculada (pois significa que a pessoa ainda não fez aniversário), caso contrário ele tira 0 permanecendo a diferença de ano que foi calculada. Segue abaixo o meu código comentado:
SELECT Nome,
(strftime('%Y', 'now') - strftime('%Y', DataNascimento)) --Aqui só está vendo a diferença de ano
- (strftime('%m', 'now') < strftime('%m', DataNascimento)) --E aqui usa o mês e funciona como uma condição de verdadeiro ou falso, se falso tira 0 e verdadeiro tira 1.
AS Idade
FROM TabelaClientes;
Espero ter ajudado :)