Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida no Ex. 2 da Aula 5 - Juntando dados de várias tabelas

Salve galera, o meu sql foi o sequinte:

"SELECT * FROM COMPRAS JOIN COMPRADORES ON COMPRAS.COMPRADOR_id = COMPRADORES.ID WHERE COMPRADORES.ID = '1';"

Ele trouxe o mesmo resultdo do "SELECT * FROM COMPRAS WHERE COMPRADOR_ID = 1"

Agora o segundo sql que vcs colocaram como resposta correta:

SELECT * FROM COMPRAS INNER JOIN COMPRADORES ON COMPRAS.COMPRADOR_ID = COMPRADOR.ID WHERE COMPRADOR_ID = 1;

Está retornando erro, provavelmente por esse campo "COMPRADOR.ID" que deve ser "COMPRADORES.ID"

Mas mesmo assim, ele difere do meu sql por causa do "INNER" ele é realmente necessario?

Peço que avaliem meu sql e me de um feedback se possivel, valeuuu

2 respostas
solução!

Olá André, você está correto, o correto seria COMPRADORES.ID e não COMPRADOR.ID. Deve ter sido algum erro na hora de escrever o exercício, é tanto que na explicação tem a mesma query da seguinte forma:

SELECT * FROM COMPRAS JOIN COMPRADORES ON COMPRAS.COMPRADOR_ID = COMPRADORES.ID.

Caso encontre algum erro, você pode reportar à equipe do Alura através do sistema de contato, deixarei o link ao final.

Quanto ao fato de INNER JOIN e JOIN eles são equivalentes, a diferença é só o nome. Se utiliza o INNER JOIN para se tornar mais claro qual o tipo de JOIN estamos utilizando, pois temos vários outros tipos como: LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN. Então é apenas utilizado o INNER por uma questão de clareza.

Espero ter ajudado. Bons Estudos!

CONTATO

Valeu brother, compreendido.