A sintaxe do INNER JOIN é a seguinte:
SELECT [ coluna1 [, coluna ... ]
FROM <tabelaA> INNER JOIN <tabelaB> [ ON <chave primária = chave estrangeira>]
Para que possamos entender o INNER JOIN vamos supor que temos as seguintes tabelas:
Tabela de fornecedores, com os seguintes campos:
- IdFornecedores
- RazaoSocial
- NomeFantasia
- CNPJ
- Telefone
- Fax
- Endereço
- Bairro
- Cidade
- Estado
- CEP
Tabela de Produtos, com os seguintes campos:
- IdProdutos
- IdFornecedores
- Nome
- PrecoCusto
Imagine que vamos buscar todos os produtos e o nome de seus fornecedores. Para que isso seja possível teríamos que incluir na consulta as tabelas fornecedores e produtos. Poderíamos fazer da seguinte maneira:
SELECT P.*, F.NomeFantasia FROM Produtos P, Fornecedores F
Observe que obtivemos o resultado, produtos X fornecedores. Não é este o resultado que queremos. A resposta deste problema seria as linhas da chave estrangeira iguais as linhas da chave primaria.
SELECT P.*, F.NomeFantasia FROM Produtos P, Fornecedores F WHERE P.id.Fornecedores = F.idFornecedores
A pesquisa acima é um exemplo alternativo do INNER JOIN, com este poderá ser usado da seguinte maneira:
SELECT P.*, F.NomeFantasia FROM Produtos P INNER JOIN Fornecedores F ON P.idFornecedores = F.idFornecedores;