Lo que te hace falta es un
outer join. Dado que no indicas cual es el motor, te sugiero que intentes usar la sintaxis del estándar, a ver si es soportada. Tu consulta querdaría algo parecido a:
Código SQL
[-]
Select c.cvedeleg, c.nomdeleg, d.programa
from cdelegacion c left outer join programap d on c.cvedeleg = d.cvedeleg
where d.cvedeleg is null
or (d.anio = 2001
and d.cvedeleg <= 33
and d.cveespecie = 6
and d.cveproducto = 6);
Hasta luego.