Tanto per cominciare sarei curioso di capire a cosa ti servono tutte le righe della seconda tabella con il campo nutrita a 0. Fossi in te le caccerei nel cesso.

SELECT MIN(data) AS nata, MAX(data) AS morta, n.id FROM mydb.nutrizione n JOIN mydb.oggetti ON (mydb.nutrizione.id=mydb.oggetti.id) WHERE oggetti.tipo='cavia' AND nutrizione.nutrita <> '0' GROUP BY n.id;