Olá,
Houve um erro no que foi dito pelo professor durante a explicação do LEFT JOIN. Ao aplicar uma data para visualizar os clientes que não compraram em determinado ano, não retornou nada e o professor concluiu que todos os clientes compraram naquele ano. No exemplo anterior vimos que o 'Fábio Carvalho' nunca havia feito uma compra, o que torna impossível ele ter comprado naquele ano específico.
O código passado pelo professor foi:
SELECT DISTINCT A.CPF, A.NOME, B.CPF FROM tabela_de_clientes A
LEFT JOIN notas_fiscais B ON A.CPF = B.CPF
WHERE B.CPF IS NULL AND YEAR(B.DATA_VENDA) = 2015;
No entanto, pela minha compreensão, esse código realiza a busca dos que nunca compraram, portanto não estão na tabela de notas fiscais (B.CPF IS NULL), e que o ano da venda seja 2015, ou seja, duas informações incompatíveis, que se anulam. Por conta disso o 'Fábio Carvalho' não retornou, pois ele não satisfaz as duas condições.
Para realizar essa busca através desse código, basta remover 'B.CPF IS NULL AND' e acrescentar 'IS NULL' após o ano, estou correto?