Olá a todos!
Estou com uma dúvida que ainda persiste na minha cabeça… li muito sobre left e right join e ainda não consigo entender como funciona. Entendo sua teoria, mas a sintaxe de como é executada ainda não entra na minha cabeça… 
seguinte, vou dar como base o tutorial que existe no DevMedia:
http://www.devmedia.com.br/articles/viewcomp.asp?comp=2507
http://www.devmedia.com.br/articles/viewcomp.asp?comp=2524&hl=join
Onde existem as tabelas produto e vendas, conforme figura abaixo:

e as sintaxes dos dois joins:
select produtos_vendidos_sem_cadastro = v.cod_produto
from produto p
right outer JOIN
venda v
on v.cod_produto = p.cod_produto
where p.cod_ produto is null
select produtos_com_cadastro_sem_venda = p.cod_produto
from produto p
left outer JOIN
venda v
on v.cod_produto = p.cod_produto
where v.cod_produto is null
A minha dúvida é: qual o porquê da cláusula "on v.cod_produto = p.cod_produto " em ambos os joins, se eles procuram isolar tanto resultados da direita e da esquerda? Não faz sentido pra mim afirmar isso na query, apesar de saber que só assim funciona 
alguém pode me explicar o porquê?
Grato :P!