La distinction entre ces deux verbes qui veulent dire « avoir » est beaucoup moins hésitante et plus marquée qu’entre Ser et Estar.
A) Tener :
a) Il indique fondamentalement la possession : « tengo un libro », « tiene veinte años ».
b) Il aide à former l’obligation personnelle « tener (conjugué) que + infinitif ».
Exemple : teníamos que cruzar un río.
B) Haber : son usage est bien plus divers que tener.
a) Il dit l’existence « hay muchas bonitas casas en este pueblo ».
b) Il forme l’obligation impersonnelle « hay que estudiar mucho » et une autre un peu plus morale « hemos de votar por él ».
c) Il sert comme auxiliaire à former les temps composés et il est le seul à le faire contrairement au français. Par ailleurs, le participe passé est invariable et rien ne peut s’intercaler entre l’auxiliaire haber et son participe passé.
Exemples : hoy he comido bien.
Las fresas que he comido no estaban buenas.
Hemos llegado rápido con el tren.
Attention ! Au lieu de l’auxiliaire haber, l’espagnol emploie parfois le verbe tener devant le participe passé qui s’accordera avec le COD. Cette construction met l’accent sur la permanence des conséquences de l’action et non sur l’action proprement dite. Son usage relève davantage de la langue parlée.
Exemples : mira, este trabajo ¡lo tengo hecho !
Ya tenemos regadas las plantas.