Вашият най-вътрешен избран не използва нищо от себе си в клаузата where, така че винаги намира нещо за Piper. Опитайте
select distinct b.profname from committee b
where not exists (
select commname from committee a
where a.profname = 'piper' and not exists (
select commname from committee c
where c.profname=b.profname and c.commname=a.commname
)
);