Si cuando un dato está vacío no quieres que salga, tendrías que hacer un Left join o right join.
Por ejemplo, tienes 2 tablas relacionadas (A y B) y quieres que salgan todos los de A, si y solo si, existe en B un registro relacionado:
Código SQL
[-]
select A.*, B.* from A right join B on A.id = B.id
where A.id in (3, 33, 44)
El caso contrario, que salga todos los registros B si y solo si, existe en A un registro relacionado.
Código SQL
[-]
select A.*, B.* from A left join B on A.id = B.id
where A.id in (3, 33, 44)
El where es el que hace que solo imprima los registros maestros que quieres.
Saludos