Q:

0 = (select count(h.id_h) from House h where h.id_h = lp.id_h AND h.id_none = '1') meaning? 

I have this query:
select lp.id_line
from Line lp,
     Enter eta 
WHERE lp.date_line <= sysdate
  AND lp.status = 10 
  AND 0 = (select count(h.id_h) from House h where h.id_h = lp.id_h AND h.id_none = '1') 
  AND lp.et_code = eta.et_code
  AND (eta.et_block <> '1' or eta.et_block is null)
  and eta.par_code In ('DC46004');

However I don't understand what the part:
AND 0 = (select count(h.id_h) from House h where h.id_h = lp.id_h AND h.id_none = '1') 

does.  
The line 
select count(h.id_h) from House h where h.id_h = lp.id_h AND h.id_none = '1'

returns 7 as result. 
Please help...

A:

This:
AND 0 = (select count(h.id_h) from House h
  WHERE h.id_h = lp.id_h
  AND h.id_none = '1') 

Is semantically equivalent to:
AND NOT EXISTS (select * from House h
 WHERE h.id_h = lp.id_h
 AND h.id_none = '1')

By the way, this is a correlated subquery, which executes once for every row in Line.  Some optimuzer will convert it to s join, but if they don't it will perform badly. 
It would be better to convert this query to only use (proper) joins.