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

Porque inner join?

Na resolução do exercício a resposta da consulta é apresentada como

SELECT NOME, VALOR FROM COMPRAS INNER JOIN COMPRADORES ON COMPRAS.COMPRADOR_ID = COMPRADORES.ID WHERE DATA < '2010-08-09';

Porém, ao realizar o exercício utilizei este esmo código, sem o uso da palavra inner e funcionou da mesma forma. Qual a diferença entre os 2 métodos?

4 respostas
solução!

Oi Natan,

na verdade não tem diferença entre os dois métodos! quando vc digita só JOIN, por padrão o mysql faz um INNER JOIN.

bons estudos!

Talvez a sintaxe da função seja INNER JOIN, como ele colocou o INNER logo entrou em ação o subconsciente do SQL e entendeu que ele quis chamar INNER JOIN, isso foi feito por baixo dos panos!! Bons estudos!!!

Por padrão quando se faz um join você tras os dados que existam em ambas as tabelas, neste caso usar inner join ou somente join funciona.

Normalmente se coloca o inner pra dizer o que se quer extrair de informação diretamente na query. O join possui tbm left right e outros tipos menos usados:

Left Join - traz todos os registros que existem em ambas as tabelas e mais os dados que so existem na tabela da esquerda.

Right Join - traz todos os registros que existem em ambas as tabelas e mais os dados que so existem na tabela da direita.

Por isso quando se faz uma query muito complexa é ideal colocar explicitamente na query INNER JOIN.

Exatamente Marcos!!