O Join de tabelas nos servidores sql visa obter informações de diversas tabelas numa única pesquisa.
Se você conhece sql sabe que cada entidade do mundo real deve ter sua represetação no banco de dados. Simplificando a explicação, se você tem uma tabela de clientes nela você só deve ter informações dos clientes. Se você tiver que trabalhar com as vendas feitas a esse cliente você criará uma tabela vendas e associará a tabela de clientes e vendas colocando um id (identificação-número-Normalmente um primary-key(PK)) na tabela de clientes e na tabela de vendas você só colocará no campo cliente o número dessa chave.
Portanto se você quiser obter as informações de cliente é só acessar a tabela de clientes.
Se precisar de dados da venda é só acessar a tabela de vendas.
Mas e se eu quiser saber todas as vendas feitas para um cliente ?
Como cliente e vendas são tabelas separadas para obter as informações das duas tabelas ao mesmo tempo faremos um join, uma mesclagem dos dados das duas tabelas.
Esse join (mesclagem) pode ser feito de diversas maneiras dependendo de como queremos que o resultado seja elaborado. Podemos trazer só o que tem em comum nas duas tabelas, tudo o que tem numa mais o que existir na segunda, tudo da segunda tabela mais o que existir na primeira tabela ou tudo da primeira e tudo da segunda 'aglutinando' no mesmo 'registro' as informações comum as duas. O conceito é complicado e explico mais detalhadamente logo abaixo.
Inner join é a opção que traz os registros das tabelas somente se existir o dado que as case em ambas as tabelas.