Para começar, vamos ver a consulta da alternativa E, que muitos alunos podem ter dado como correta. Veja:
_SELECT *
_FROM Cliente, Pedido
_WHERE Cliente.NomeC = Pedido.NomeC AND NomeF <> 'Barateira'
A princípio, o item parece correto, mas não é. O problema aqui é que estamos simplesmente eliminando da consulta aqueles registros de pedidos no fornecedor Barateira. Se um cliente tem pedidos em Barateira, mas também tem pedidos em outros fornecedores, ele continuará sendo listado.
Para resolver esse problema, vamos por partes. Primeiro, vamos procurar listar todos os nomes de clientes em pedidos realizados no fornecedor Barateira. É mais fácil! A consulta fica assim:
_SELECT NomeC
_FROM Pedido
_WHERE NomeF = 'Barateira'
Para obter o resultado pedido pelo dono da empresa, nós precisamos retornar todos aqueles clientes que nunca realizaram um pedido em Barateira, ou seja, aqueles clientes que não são retornados pela consulta que acabamos de realizar. Para isso, podemos usar o NOT IN:
_SELECT *
_FROM Cliente
_ WHERE Cliente.NomeC NOT IN
(SEL ECT NomeC
FR OM Pedido
WH ERE NomeF = 'Barateira')