As alternativas A,B e C só mudam UMA PALAVRA, respectivamente not exists, exists e not in. A alternativa D apresenta um método diferente.
No SELECT interno buscamos todas as agencias em que o cliente tem conta.
No SELECT intermediário buscamos todas as agências de Belo Horizonte, exceto aquelas que o cliente tem conta.
Vamos imaginar um exemplo, Na cidade de BH temos 3 agencias X,Y,Z. João possui conta na agencia X e Maria possui conta em todas as 3 agências. No SELECT interno teremos como resultado {X} para João e {X,Y,Z} para Maria. No SELECT intermediário, teremos como resultado {Y,Z} para João e {} para Maria.
No SELECT externo, na letra a, com a cláusula NOT EXISTS, buscamos todos os clientes onde o SELECT intermediário não retornou nenhum resultado. Ou seja, retornará apenas Maria, que é a ideia aqui.
Na letra b, com a cláusula EXISTS, retornará João, que seria um resultado incorreto.
Na letra c, com a cláusula NOT IN, teoricamente teríamos a mesma resposta que a letra a, porém a cláusula NOT IN funciona diferente da NOT EXISTS quando temos valores NULL envolvidos, maiores explicações no link sqlinthewild.co.za/index.php/2010/02/18/not-exists-vs-not-in/
Claro que, na hora da prova essa análise, com tempo limitado seria bem mais precária e o chute provavelmente seria na letra D.
Gab. A
Qualquer erro, por favor me avise.