This sounds like not exists
:
select e.*
from equipments e
where not exists (select 1
from contracts c
where c.serial = e.serial and
c.status="active"
);
solved How I return equipaments not active in another table [closed]