IN
escolhe a lista de valores correspondentes. EXISTS
retorna os valores booleanos como true ou false. Existe é mais rápido que in. Exemplo
DENTRO
select ename from emp e where mgr in(select empno from emp where ename='KING');
EXISTE
select ename from emp e
where exists (select 1 from emp where e.mgr = empno and ename = 'KING');