> SELECT * FROM PRIM AS P
> WHERE NOT EXISTS
> (
> SELECT REFID FROM REF1 WHERE REF1.REFID=P.ID
> UNION
> SELECT REFID FROM REF2 WHERE REF2.REFID=P.ID
> );

I looks like correct SQL according to the SQLite docs,
but I don't understand why you coded the select that
way. You should get the same result from

   select * from prim as p
   where not exists (select refid from ref1
                     where refid=p.id) and
         not exists (select refid from ref2
                     where refid=p.id)

I would guess that this form would be more efficient
because if the first test fails, the second sub-select
should not be executed, perhaps saving a complete scan
of ref2.

Regards

Reply via email to